Android-->Log系统,Logback的使用体验(slf4j)

一个好的程序, 完全可以从Log中, 解决问题.
一个好的Log系统,是一个程序的关键.

本文介绍的是Logback-Android, 这个库,可以将Log写入到File,写入到数据库,写入到Email,写入到网络.
当然,最基本的Logcat窗口完美输出,是最基本的;

开源地址: https://github.com/tony19/logback-android
slf4j地址: http://www.slf4j.org/
slf4j API文档: http://www.slf4j.org/api/
如果你需要了解更多,请自行百度(谷歌);

logback 官方WIKI: https://github.com/tony19/logback-android/wiki
logback API文档: http://tony19.github.io/logback-android/doc/1.1.1-4/

推荐阅读: http://blog.csdn.net/haidage/article/details/6794529


1:Module中的build.gradle 添加以下依赖

dependencies {
    ...
    compile 'org.slf4j:slf4j-api:1.7.21'
    compile 'com.github.tony19:logback-android-core:1.1.1-5'
    compile 'com.github.tony19:logback-android-classic:1.1.1-5'
}

2:在以下位置创建一个logback.xml文件,默认情况下这个路径和文件名是固定的

Android-->Log系统,Logback的使用体验(slf4j)_第1张图片

3:配置logback文件


<configuration debug='false'>

    
    <property name="LOG_DIR" value="/sdcard/rlog"/>

    
    <timestamp datePattern="yyyyMMdd" key="today"/>

    
    <appender name="LOGCAT" class="ch.qos.logback.classic.android.LogcatAppender">
        <encoder>
            <pattern>%-5relative [%thread][%file:%M:%line] - %msg%npattern>
        encoder>
    appender>

    
    <appender name="BASE_FILE" class="ch.qos.logback.core.FileAppender">
        
        <lazy>truelazy>
        
        <append>trueappend>
        
        <file>${LOG_DIR}/base.logfile>
        
        <encoder>
            
            <pattern>%date [%thread] %-5level %logger{36} [%file:%line] - %msg%npattern>
        encoder>
    appender>

    
    <appender name="BASE_ROLL_FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
        <file>${LOG_DIR}/base.roll.${today}.logfile>
        <append>trueappend>
        <encoder>
            <pattern>%date %-5relative [%thread] %-5level %logger{36} [%file:%M:%line] - %msg%n
            pattern>
        encoder>

        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
            <fileNamePattern>${LOG_DIR}/base.roll.%d{yyyy-MM-dd}.logfileNamePattern>
            
            <maxHistory>7maxHistory>
        rollingPolicy>

        
        <triggeringPolicy class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
            <maxFileSize>10MBmaxFileSize>
        triggeringPolicy>
    appender>

    
    <logger name="logtest">
        <appender-ref ref="BASE_ROLL_FILE"/>
    logger>

    
    <root level="TRACE">
        <appender-ref ref="LOGCAT"/>
    root>

    
    
    
    
    
    

    

    
    
    
    
    

    
    
    
    
    
    
configuration>

还有其他的appender提供,详细说明移步:
http://logback.qos.ch/manual/appenders.html

4:代码测试
Android-->Log系统,Logback的使用体验(slf4j)_第2张图片

Android-->Log系统,Logback的使用体验(slf4j)_第3张图片

保存在文件中的Log信息:
Android-->Log系统,Logback的使用体验(slf4j)_第4张图片

彩蛋:控制台的颜色设置
Android-->Log系统,Logback的使用体验(slf4j)_第5张图片

友情提示,你可能需要添加以下权限:


项目地址: https://github.com/angcyo/LogbackDemo


至此: 文章就结束了,如有疑问: QQ群:274306954 欢迎您的加入.

你可能感兴趣的:(Android)