Android日志存文件实战

一般情况下,Android App都有将日志保存到sdcard上的需求。一方面是方面测试保留日志(除了Google亲儿子,其他手机adb log疯狂滚动的事每次想起来就泪奔),另一方面,也可以把日志上传到服务器进行日志分析。

经过在网上的一番搜索后,最终选定了Logback来进行日志的保存。

Logback也是基于slf4j框架的开源日志组件,官网:http://logback.qos.ch/index.html

其中各有专门针对Android的组件:

Logback-android by Tony Trinh.

Logback-Android brings the power of Logback to Android.

https://github.com/tony19/logback-android

里面有比较详细的说明文档,不过在实际运用中也遇到了一些问题,比如限制日志文件大小等。

使用方法很简单,导入倚赖包后,在代码里:

private static final Logger logger = LoggerFactory.getLogger(TAG);
logger.debug(">>> ");
logger.info(">>> ");
logger.error(">>> ");
logger.warn(">>> ");
如果需要将日志保存到文件的话,需要在asset目录下增加logback.xml配置文件:


    
    name="file" class="ch.qos.logback.core.rolling.RollingFileAppender">
        /sdcard/.xxx/log/foo.log
        
            %d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n
        
        class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">
            /sdcard/.xxx/log/foo.log.%i.bak
            1
            12
        
        class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
            1MB
        
        
    

    
    name="logcat" class="ch.qos.logback.classic.android.LogcatAppender">
        
            %msg
        
    

    
    level="DEBUG">
        ref="file"/>
        ref="logcat"/>
    

这样配置的话,可以同时在logcat和文件中输出日志。




你可能感兴趣的:(Android)