项目作者: liuhanling

项目描述 :
Android Logger & Crash
高级语言: Java
项目地址: git://github.com/liuhanling/Logger.git
创建时间: 2018-12-06T10:34:17Z
项目社区:https://github.com/liuhanling/Logger

开源协议:MIT License

下载


Android Logger

简单强大的Android日志管理器

Feature

  • 支持格式化打印Log
  • 支持基本数据类型、字符串、对象、数组、集合、Json、Xml、Throwable等打印
  • 支持本地保存log,路径:/logger/yyyy-MM-dd/yyyy_MM_dd_HHmmss.log
  • 支持本地保存crash,路径:/logger/yyyy-MM-dd/crash_yyyy_MM_dd_HHmmss.log

Dependency

  1. Add it in your root build.gradle at the end of repositories
  1. allprojects {
  2. repositories {
  3. maven { url "https://jitpack.io" }
  4. }
  5. }
  1. Add the dependency to your moudle build.gradle
  1. dependencies {
  2. implementation 'com.github.liuhanling:Logger:1.5'
  3. }

Usage

AndroidManifest.xml

  1. <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" ></uses-permission>
  2. <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" ></uses-permission>
  3. 注意:Build.VERSION.SDK_INT >=23, 请动态申请权限.

Application

  1. // 简洁配置
  2. Logger.init(this);

Or

  1. // 自定义配置
  2. LogConfig config = LogConfig.builder(this)
  3. .formatLog(true) // (可选) 打印信息格式,默认false
  4. .showThread(true) // (可选) 打印线程信息,默认false
  5. .showMethod(1) // (可选) 打印方法行数,默认0
  6. .printLog(true) // (可选) 是否打印日志,默认true
  7. .writeLog(true) // (可选) 是否保存日志,默认true
  8. .crashLog(true) // (可选) 是否保存异常,默认true
  9. .crashCall(e -> { // (可选) 全局异常处理,默认kill
  10. // AppManager.getInstance().exit();
  11. })
  12. .path("/logger") // (可选) 配置存储目录,默认/logger
  13. .tag("LOVE_LOGGER") // (可选) 配置日志标记,默认LOGGER
  14. .build();
  15. Logger.init(config);

Output

Options

  1. Logger.v(Object object);
  2. Logger.v(String message, Object object);
  3. Logger.d(Object object);
  4. Logger.d(String message, Object object);
  5. Logger.i(Object object);
  6. Logger.i(String message, Object object);
  7. Logger.w(Object object);
  8. Logger.w(String message, Object object);
  9. Logger.e(Object object);
  10. Logger.e(String message, Object object);
  11. Logger.a(Object object);
  12. Logger.a(String message, Object object);
  13. Logger.c(Object object);
  14. Logger.c(String message, Object object);
  15. Logger.j(String json);
  16. Logger.j(String message, String json);
  17. Logger.x(String xml);
  18. Logger.x(String message, String xml);
  19. Logger.log(int priority, Object object);
  20. Logger.log(int priority, String message, Object object);

Support object

  1. Logger.v(object);
  2. Logger.d(object);
  3. Logger.i(object);
  4. Logger.w(object);
  5. Logger.e(object);
  6. Logger.a(object);

Support collections

  1. Logger.v(MAP/SET/LIST/ARRAY);
  2. Logger.d(MAP/SET/LIST/ARRAY);
  3. Logger.i(MAP/SET/LIST/ARRAY);
  4. Logger.w(MAP/SET/LIST/ARRAY);
  5. Logger.e(MAP/SET/LIST/ARRAY);
  6. Logger.a(MAP/SET/LIST/ARRAY);

Support throwable

  1. Logger.e(e);
  2. Logger.e("Error:", e);

Support crash

  1. // 单独写入crash.log
  2. Logger.c(tr);
  3. Logger.c("Crash:", tr);

Support Xml

  1. Logger.x(XML);
  2. Logger.x("xml:", XML);

Support Json

  1. Logger.j(JSON);
  2. Logger.j("json:", JSON);

Support tag

  1. Logger.tag("tag").v(object);

License

  1. MIT License
  2.  
  3. Copyright (c) 2018 liuhanling
  4.  
  5. Permission is hereby granted, free of charge, to any person obtaining a copy
  6. of this software and associated documentation files (the "Software"), to deal
  7. in the Software without restriction, including without limitation the rights
  8. to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
  9. copies of the Software, and to permit persons to whom the Software is
  10. furnished to do so, subject to the following conditions:
  11.  
  12. The above copyright notice and this permission notice shall be included in all
  13. copies or substantial portions of the Software.