android Log4j学习笔记

android 有自带的log但是不能很方便的保存到文件. 

就用了第三方的jar包来支援了.

  1. apache的log4j

  2. slf4j

  3. android-logging-log4j


导入以上jar包,然后写代码配置

        //先设置文件log要保存的目录和文件名
        File appLogFile = new File(XApplication.getInstance().getRootWorkDir()//
                + File.separator + LOG_FILE_PATH + File.separator, LOG_FILE_NAME);
        addFileLogger(appLogFile.getPath());
        addLogCatLogger();

这里有一个问题,在文件名没有后缀名的时候会出现一些奇怪的问题.建议加入后缀名.


    /**
     * 添加文件日志管理
     * 
     * @param logfile
     */
    private void addFileLogger(String logfile) {
        try {

            /**
             * 文件log格式 输出的格式
             * 2014-08-17 19:30:21,688 [ERROR][com.xxx.xxx.activity@Thread-150] 
             */
            private String fileLogLayoutPatten = "%d{yyyy-MM-dd HH:mm:ss,SSS} [%-5p][%c@%t] - %m%n";
            Appender appender = new DailyRollingFileAppender(new PatternLayout(fileLogLayoutPatten), logfile,
                    "yyyy-MM-dd");
            LevelRangeFilter f = new LevelRangeFilter();
            f.setLevelMin(fileLevel);
            appender.addFilter(f);
            Logger rootLogger = getRootLogger();
            rootLogger.addAppender(appender);
        } catch (IOException e) {
            Log.e("Log4jConfigurator", "Failed to create log file " + logfile, e);
        }
    }

  以上为文件log

    /**
     * 添加LogCat的日志(控制台)
     */
    private void addLogCatLogger() {
        LogCatAppender logCatAppender = new LogCatAppender(new PatternLayout());
        LevelRangeFilter f = new LevelRangeFilter();
        f.setLevelMin(logcatLevel);
        logCatAppender.addFilter(f);
        Logger rootLogger = getRootLogger();
        rootLogger.addAppender(logCatAppender);
    }

   以上为LogCat

    /**
     * 
     * @return
     */
    private Logger getRootLogger() {
        Logger rootLogger = Logger.getRootLogger();
        rootLogger.setLevel(rootLevel);
        return rootLogger;
    }


  

//此处为 org.slf4j.Logger 便于切换
Logger log = LoggerFactory.getLogger(xxx.class);


Log4j添加文件附加时有两种

一种是DailyRollingFileAppender按日期生成新文件.

一种是RollingFileAppender按log文件最大长度限度生成新文件.



转载于:https://my.oschina.net/rockyz/blog/299885

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值