Android进阶:一、日志打印和保存策略

本文介绍了在Android开发中如何实现日志的高效打印和保存,通过使用HandlerThread处理日志保存任务,避免创建过多线程。文章提供了一个自定义Logger类,支持不同级别的日志输出,并能根据是否处于调试模式决定是否保存日志。同时,文章还展示了如何使用SaveLogStrategy类以队列形式保存日志,并给出了具体的代码实现。
摘要由CSDN通过智能技术生成

}
}

我们使用HandlerThread来处理这个任务。HandlerThread是一个可以使用handler的Thread。当我们把消息保存到消息队列中去之后会在线程中去处理,又能保证不会产生很多线程。其实这里也可以使用instentservice实现,这个服务适合量大而不太耗时的任务。

最后在一个方法中统一打印和保存即可:

private void logPrint(int logLevel, Object msg) {
if (isDebug) {
String name = getFunctionName();
if (saveLogStrategy != null) {
saveLogStrategy.log(Log.ERROR, customTag, name + " - " + msg);
}
Log.println(logLevel, customTag, name + " - " + msg);
}
}

自定义的log策略还是比较简单,主要就是这个思想:打印日志信息详细,保存要采用队列的形式。一下是全部代码:

public class Logger {
public final static String tag = “”;
private static SaveLogStrategy saveLogStrategy;
private final static boolean logFlag = true;
private static Logger logger;
private int logLevel = Log.VERBOSE;
private static boolean isDebug = BuildCo

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值