Android 日志框架使用

 在实际开发中,经常会遇到需要打印日志并保存到文件中,便于后面取日志分析代码运行情况,当然如果只是打印日志不需要记录文件,使用android自带的log工具就完全够了,

Log打印日志会记录到系统日志中,可以取出系统日志然后通过tag过滤得到自己的log,不过系统日志比较大,一般只能保存一段时间的日志,所以我们需要把日志单独记录到自己的文件中,这样就不会被系统日志冲掉了。

1、使用到的开源日志框架有以下两个,可以网上自己下载, 也可以通过以下链接下载https://download.csdn.net/download/x995630736/87719297

android-logging-log4j-1.0.3.jar
apache-logging-log4j.jar

2、创建android 工程,jatr包放到libs目录下,并build.gradle中增加下面两行,重新编译

implementation files('libs/android-logging-log4j-1.0.3.jar')
implementation files('libs/apache-logging-log4j.jar')

3、创建自己的日志文件路径和文件名,我的日志路径如下,会在sdcard目录下生产LOG目录,

 public static String LOG_PATH = Environment.getExternalStorageDirectory().getAbsolutePath() + "/LOG/;

public static String appFile = "";

File file = new File(FileConfig.LOG_PATH );
if (!file.exists()) {
   file.mkdirs();
}
if (appFile == null || appFile.isEmpty()) {
   appFile = "app-" + getDateToStringStyle("yyyy-MM-dd-HH-mm", new Date()) + ".txt";
}

getDateToStringStyle是根本一定格式获取当前时间,方便看日志是什么时候生成的

 

4、配置日志参数, 可以放在MyApplication中初始化,这样在整个app中都可以调用

private static Logger logger = null;
LogConfigurator logConfigurator = new LogConfigurator();
logConfigurator.setFileName(FileConfig.LOG_PATH + appFile);
logConfigurator.setRootLevel(Level.WARN);
logConfigurator.setLevel("TEST", Level.WARN);
logConfigurator.setFilePattern("%m%n");
logConfigurator.setMaxFileSize(1024 * 1024 * 10);
logConfigurator.setImmediateFlush(true);
logConfigurator.configure();
logger = Logger.getLogger("TEST");

5、写日志到文件中

public static void logInfo(final Object msg) {
    if (msg == null || msg.toString().isEmpty()) {
        return;
    }
    String appMsg = getDateToStringStyle("MM-dd HH:mm:ss,SSS", new Date()) + ":" + msg.toString();
    if (logger == null) {
        logger = Logger.getLogger("TEST");
    }
    logger.warn(appMsg);
}

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值