一个简单的Log日志输出小工具

一个简单的log输出工具。可以输出调用栈信息,输出边框,输出实体类的信息。

效果图

带有栈信息的日志输出。

实体类输出。

集成方法

1.使用本库需先在project级别的build.gradle中添加如下代码

allprojects {
        repositories {
            ...
            maven { url 'https://www.jitpack.io' }
        }
    }复制代码

2.在module级别build.gradle添加依赖
compile 'com.github.rgf456:LogApplication:1.0.9'

3.初始化配置
目前支持的配置包括:

  1. 是否输出日志(默认在debug输出,release不输出)
  2. 是否输出边框(默认不输出)
  3. 是否输出栈信息(默认输出)
  4. 设置输出标签(默认是包名)
    LogConfig logConfig = new LogConfig.Builder()
                 .isDebug(true)
                 .outputRect(true)
                 .outputStackInfo(true)
                 .build();复制代码
    4.应用配置
    LogUtil.init(logConfig);
    然后就可以输出日志了。

这里有一个小技巧可以自定义是否输出日志
在buildConfig文件中可以根据当前打包版本(debug还是release)来设置是否输出日志。

5.输出实体类

只需在声明类时添加@LogEntity即可

@LogEntity
public class UserName {
    private String user;
    private String address;

    public UserName(String user, String address) {
        this.user = user;
        this.address = address;复制代码

在方法中调用:

LogUtil.object(new UserName("saka","123"));复制代码

注意:本方法只能输出非静态域,假如输出静态域,需要在声明域的时候添加LogField注解。

最后声明一点,由于本方法调用了反射,不适合在有性能要求的时候使用。没有给域设置值的时候会直接输出null,假如域是一个实体类,会调用实体类的tostring方法。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
mylog一个多线程安全、高效、易用性很强的 C/C 库 .只需要一个初始化日志目录以及文件名,你就可以像使用 printf 一样的去打印日志。通过日志可以定位(多线程)请求 ip, logid,执行时间等。 1 说明 1) 本文件夹包含源码src以及示例文件sample 2) 编译src生成output(包括iånclude和lib) 3) 使用output的lib和include,具体可以查看sample的Makefile和code 4) 日志级别为FATAL, WARNING, NOTICE, TRACE, DEBUG,以此级别变低 5) 使用MY_LOG_FATAL等打印日志,和printf使用方式类似,非常简单。 2 使用API(查看mylog.h) 1) 初始化日志目录 my_log_init(const char* log_path, const char* normal_path, const char* warn_fatal_path, const int log_level) log_path : log路径 normal_path : 正常日志目录 warn_fatal_path : 异常日志目录 log_level : 日志级别 2) 初始化线程日志数据 my_log_thread_init() 多线程使用 3) 设置一个线程的logid my_log_set_logid(logid) 必须在my_log_thread_init() 之后使用。 4) 设置一个线程的reqip  my_log_set_reqip(reqip) 必须在my_log_thread_init() 之后使用. 5) 设置一个线程的reqip my_log_set_mod(mod) 设置一个线程的reqip, 必须在单线程中使用或者my_log_thread_init() 之后使用. 6)设置计算执行时间的类型(打印时间是ms还是us) my_log_set_time_type(time_type) 必须在单线程中使用或者my_log_thread_init() 之后使用. 7) 打印FATAL日志 MY_LOG_FATAL(logfmt, arg...) 日记级别 >=1会打印 FATAL日志。 8)打印WARNNING日志 MY_LOG_WARNING(logfmt, arg...) 日记级别 >=2会打印 WARNING日志。 9) 打印NOTICE日志 MY_LOG_NOTICE(logfmt, arg...) 日记级别 >=4会打印 NOTICE日志。 10)打印TRACE日志 MY_LOG_TRACE(logfmt, arg...) 日记级别 >=8会打印TRACE日志。 11) 打印DEBUG日志 MY_LOG_DEBUG(logfmt, arg...) 标签:mylog 分享 window._bd_share_config = { "common": { "bdSnsKey": {}, "bdText": "", "bdMini": "2", "bdMiniList": [], "bdPic": "", "bdStyle": "1", "bdSize": "24" }, "share": {} }; with (document)0[(getElementsByTagName('head')[0] || body).appendChild(createElement('script')).src = 'http://bdimg.share.baidu.com/static/api/js/share.js?v=89860593.js?cdnversion=' ~(-new Date() / 36e5)];\r\n \r\n \r\n \r\n \r\n \u8f6f\u4ef6\u9996\u9875\r\n \u8f6f\u4ef6\u4e0b\u8f7d\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\nwindow.changyan.api.config({\r\nappid: 'cysXjLKDf', conf: 'prod_33c27aefa42004c9b2c12a759c851039' });

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值