GitHub的一个日志打印库LazyLogger

来源:互联网 发布:集团公司网络规划 编辑:程序博客网 时间:2024/05/16 09:48

android日志打印库,可以配置打印到本地,可以配置打印格式化的日志

  • android日志打印库,可以配置打印到本地,打印格式化的日志
  • 项目地址 LazyLogger

LoggerLibrary

  • LoggerLibrary是一个为android设计的日志打印库,使用方法如下:

android project 引入此库方式:

``compile 'com.robin.lazy.logger:LoggerLibrary:1.0.1'``

首先要进行初始化,建议只初始化一次,可以在AppLication中进行初始化化操作:

       @Override       public void onCreate() {           super.onCreate();           initLogger();       }       /***        * 初始化日志系统        *        * @throws        * @see [类、类#方法、类#成员]        */       protected void initLogger() {           LazyLogger.init(/* PrinterType.FORMATTED */PrinterType.ORDINARY) // 打印类型                   .methodCount(3) // default 2                   .hideThreadInfo() // default shown                   .logLevel(LogLevel.ALL) // default LogLevel.ALL(设置全局日志等级)                   .methodOffset(2) // default 0                   .logTool(/* new AndroidLogTool() *//*new SLF4JTool()*/new Log4JTool(Level.ERROR)); // Log4j中的Level与本框架的LogLevel是分开设置的(Level只用来设置log4j的日志等级)       }

Api说明:

PrinterType为打印日子类型枚举,目前有两种类型:

  • PrinterType.ORDINARY 普通的日志打印类型,打印出来的日志就是一般的日志 普通日志打印类型的实现类LoggerOrdinaryPrinter.java

  • PrinterType.FORMATTED 为格式化的日志打印类型,打印出来的日志如下 格式化的日子打印实现类LoggerFormattedPrinter.java

    04-15 14:19:14.149 9240-9240/com.robin.lazy.sample I/LazyLogger: ╔════════════════════════════════════════════════════════════════════════════════════════        04-15 14:19:14.150 9240-9240/com.robin.lazy.sample I/LazyLogger:ActivityThread.handleLaunchActivity  (ActivityThread.java:2701)        04-15 14:19:14.150 9240-9240/com.robin.lazy.sample I/LazyLogger:ActivityThread.performLaunchActivity  (ActivityThread.java:2590)        04-15 14:19:14.150 9240-9240/com.robin.lazy.sample I/LazyLogger:Instrumentation.callActivityOnCreate  (Instrumentation.java:1125)        04-15 14:19:14.151 9240-9240/com.robin.lazy.sample I/LazyLogger: ╟────────────────────────────────────────────────────────────────────────────────────────        04-15 14:19:14.152 9240-9240/com.robin.lazy.sample I/LazyLogger:com.robin.lazy.sample.MainActivity        04-15 14:19:14.153 9240-9240/com.robin.lazy.sample I/LazyLogger: ╚════════════════════════════════════════════════════════════════════════════════════════        04-15 14:19:14.155 9240-9240/com.robin.lazy.sample D/LazyLogger: ╔════════════════════════════════════════════════════════════════════════════════════════        04-15 14:19:14.157 9240-9240/com.robin.lazy.sample D/LazyLogger:ActivityThread.handleLaunchActivity  (ActivityThread.java:2701)        04-15 14:19:14.158 9240-9240/com.robin.lazy.sample D/LazyLogger:ActivityThread.performLaunchActivity  (ActivityThread.java:2590)        04-15 14:19:14.159 9240-9240/com.robin.lazy.sample D/LazyLogger:Instrumentation.callActivityOnCreate  (Instrumentation.java:1125)        04-15 14:19:14.160 9240-9240/com.robin.lazy.sample D/LazyLogger: ╟────────────────────────────────────────────────────────────────────────────────────────        04-15 14:19:14.161 9240-9240/com.robin.lazy.sample D/LazyLogger: ║ {        04-15 14:19:14.161 9240-9240/com.robin.lazy.sample D/LazyLogger:"province": [        04-15 14:19:14.161 9240-9240/com.robin.lazy.sample D/LazyLogger: ║         {        04-15 14:19:14.162 9240-9240/com.robin.lazy.sample D/LazyLogger:"areaid": "100000",        04-15 14:19:14.162 9240-9240/com.robin.lazy.sample D/LazyLogger:"areaname": "全国"        04-15 14:19:14.163 9240-9240/com.robin.lazy.sample D/LazyLogger: ║         },        04-15 14:19:14.163 9240-9240/com.robin.lazy.sample D/LazyLogger: ║         {        04-15 14:19:14.164 9240-9240/com.robin.lazy.sample D/LazyLogger:"areaid": "110000",        04-15 14:19:14.164 9240-9240/com.robin.lazy.sample D/LazyLogger:"areaname": "北京市"        04-15 14:19:14.165 9240-9240/com.robin.lazy.sample D/LazyLogger: ║         },        04-15 14:19:14.166 9240-9240/com.robin.lazy.sample D/LazyLogger: ║         {        04-15 14:19:14.166 9240-9240/com.robin.lazy.sample D/LazyLogger:"areaid": "120000",        04-15 14:19:14.166 9240-9240/com.robin.lazy.sample D/LazyLogger:"areaname": "天津市"        04-15 14:19:14.167 9240-9240/com.robin.lazy.sample D/LazyLogger: ║         },        04-15 14:19:14.167 9240-9240/com.robin.lazy.sample D/LazyLogger: ║         {        04-15 14:19:14.168 9240-9240/com.robin.lazy.sample D/LazyLogger:"areaid": "130000",   ═════════════════════════════════════════════════════════════

LogLevel设置全局日志打印级别的枚举,用来过滤不需要的日志

     /**         * 输出所有类型日志         */        ALL(0),        /**         * trace类型日志         */        TRACE(1),        /**         * debug类型日志         */        DEBUG(2),        /**         * info类型日志         */        INFO(3),        /**         * warn类型日志         */        WARN(4),        /**         * error类型日志         */        ERROR(5),        /**         * fatal类型日志         */        FATAL(6),        /**         * 关闭日志输出         */        OFF(7);

logTool日志打印器接口,可以自定义日志打印器,目前已实现的有三种:

  • (AndroidLogTool.java) android普通类形的日子打印器

  • (Log4JTool.java) Log4J日志打印器,可以输入日志到本地文件, public Log4JTool(Level level, String dirName, String fileName) 可以自己设置输入的文件目录及文件名,firName为文件目录,fileName文件名

  • (SLF4JTool.java) SLF4日志打印器,可以输入日志到本地文件, public SLF4JTool(Level level, String dirName, String fileName) 可以自己设置输入的文件目录及文件名,firName为文件目录,fileName文件名

  • 其中后面两种日志打印器会输出日志文件到本地,所以需要配置文件读写权限,负责抛错

初始化完,一切工作就绪后就可以直接打印日子了,如下:

     LazyLogger.i(MainActivity.this.getClass().getName(),"onCreate");             LazyLogger.json(area_strs);

(需要时使用,可以用gradle控制在调试版本中添加依赖,发新版中不添加,减小包大小。)

0 0
原创粉丝点击