Giter VIP home page Giter VIP logo

logger's Introduction

Android开发者的日志工具。 特点: 支持日志写入文件 支持json格式化输出到控制台 日志可以打印出哪个线程哪个类哪行打印的 使用: 一、在根目录的build.gradle里添加仓库。

allprojects {
 repositories {
   maven {
            url "https://raw.githubusercontent.com/maikel0maikel/logger/master"
         }
 }

二、在模块的build.gradle中添加依赖。

studio3.0以下

dependencies {
     compile 'com.maikel:logger:1.0.4'
}

studio3.0以上(含3.0)

dependencies {
     implementation 'com.maikel:logger:1.0.4'
}

三、 配置与初始化

建议在你的application的onCreate()方法里初始化工具类,当然也可以不用初始化,使用默认的配置。 在使用默认的配置时不继承SystemApplication将无法获取版本等信息,默认E与P级别写入文件 如果需要写入其他日志级别请调用addWriteLevel,这时请用LogTools来打印 以下是一个配置范例:

public class RootApp extends Application {

    private static Logger sLogger;

    @Override
    public void onCreate() {
        super.onCreate();
          sLogger = Logger.Builder.newBuilder(getApplicationContext(), "名字")
                /* 下面的属性都是默认值,你可以根据需求决定是否修改它们. */
                .setDebug(true)//为true 会打印日志到控制台 否则不会
                .setWriteToFile(true)//是否写入文件 为true将写入文件 默认为true
                .setParentDir("xxxx")//日志记录父目录,如果不设置,默认为sdcard/maikel
                .setLogDir("xxxxx")//日志记录目录 如果不设置 默认路径为 sdcard/maikel/Logger 可以使用应用的名称作为日志目录名
                .setLogPrefix("")//日志前缀 为空时默认为"_" 不设置即可
                .setLogSegment(LogSegment.TWELVE_HOURS)//时间切片 默认24小时
                .addWriteLevel(LogLevel.V)//比如v级别 可以添加多个 默认写E与P级别
                .setZoneOffset(TimeUtils.ZoneOffset.P0800)//时区偏移量 默认东八区
                .setPackageLevel(1)//日志栈层级 0-10
                .setAudoDelete(true)//自动删除日志文件
                .setStoreDays(5)//配置日志存储时间单位天,默认为7天(需同时设置setAudoDelete为true否则无效)
                .build();
    }

    public static Logger getLogger() {
        return sLogger;
    }
}

如果'targetSdkVersion'是23+,需要在闪屏页或首页申请'android.permission.WRITE_EXTERNAL_STORAG'权限。

setLogSegment(LogSegment)

日志按照时间切片写入到不同的文件中,默认是24小时,文件名诸如2018-04-26.log,如果设置为LogSegment.ONE_HOUR,文件名就会变成诸如2018-04-26_0203.log,表示文件里记录的是2:00到3:00的日志。

logger.setLogSegment(LogSegment.ONE_HOUR);

setZoneOffset(ZoneOffset)

我们可以指定文件里日志时间的时区,而不受用户位置的影响,这样会更容易定位问题,默认是ZoneOffset.P0800(+0800),表示“北京时间”。

logger.setZoneOffset(ZoneOffset.P0800);

logger's People

Contributors

maikel0maikel avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.