本文是本人在安卓开发中使用 ALog 的笔记,若有误还请指正。
1、简介
2、使用
3、ALog与Logger的对比
1、简介
原先使用Logger
但想要指定日志文件的存放位置都没有,因此在找到ALog后,断然改用ALog
2、使用
在使用前,需要进行配置。
直接使用作者的例子代码
package com.blankj.alog;
import android.app.Application;
import com.blankj.ALog;
import java.util.ArrayList;
/**
* <pre>
* author: Blankj
* blog : http://blankj.com
* time : 2017/04/06
* desc :
* </pre>
*/
public class ALogApp extends Application {
private static ALogApp sInstance;
public static ALogApp getInstance() {
return sInstance;
}
@Override
public void onCreate() {
super.onCreate();
sInstance = this;
initALog();
}
// init it in ur application
public void initALog() {
ALog.Config config = ALog.init(this)
.setLogSwitch(BuildConfig.DEBUG)// 设置 log 总开关,包括输出到控制台和文件,默认开
.setConsoleSwitch(BuildConfig.DEBUG)// 设置是否输出到控制台开关,默认开
.setGlobalTag(null)// 设置 log 全局标签,默认为空
// 当全局标签不为空时,我们输出的 log 全部为该 tag,
// 为空时,如果传入的 tag 为空那就显示类名,否则显示 tag
.setLogHeadSwitch(true)// 设置 log 头信息开关,默认为开。该头信息包含从log跳转到源码的链接
.setLog2FileSwitch(true)// 打印 log 时是否存到文件的开关,默认关
.setDir("")// 当自定义路径为空时,写入应用的 /cache/log/ 目录中
.setFilePrefix("alog")// 当文件前缀为空时,默认为 "alog",即写入文件为 "alog-MM-dd.txt"
.setBorderSwitch(true)// 输出日志是否带边框开关,默认开
.setSingleTagSwitch(true)// 一条日志仅输出一条,默认开,为美化 AS 3.1 的 Logcat
// 等级排序:2 VERBOSE -> 3 DEBUG -> 4 INFO -> 5 WARN -> 6 ERROR -> 7 ASSERT
// 假若Filter设置为 ALog.D ,则 ALog.D 及 ALog.D 后面的等级才会执行
.setConsoleFilter(ALog.V)// log 的控制台过滤器,和 logcat 过滤器同理,默认 Verbose
.setFileFilter(ALog.I)// log 文件过滤器,和 logcat 过滤器同理,默认 Verbose
.setStackDeep(1)// log 栈深度,默认为 1
.setStackOffset(0)// 设置栈偏移,比如二次封装的话就需要设置,默认为 0
.setSaveDays(3)// 设置日志可保留天数,默认为 -1 表示无限时长
// 新增 ArrayList 格式化器,默认已支持 Array, Throwable, Bundle, Intent 的格式化输出
.addFormatter(new ALog.IFormatter<ArrayList>()
{
@Override
public String format(ArrayList list)
{
return "ALog Formatter ArrayList { " + list.toString() + " }";
}
});
ALog.d(config.toString());
}
}
ALog.d("debug");
ALog.d("customTag", "debug0", "debug1");
ALog.d(longStr);
ALog.file(longStr);
ALog.json(json);
ALog.xml(xml);
3、ALog与Logger的对比
以下优缺点都是相对于两者进行的对比
1)Logger的优缺点
- 优点:
可设置多种策略模式,方便的开关不同优先级、tag的日志输出
会根据日志文件大小,新增日志文件 - 缺点:
无法设置日志文本的路径,过期自动删除
2)ALog的优缺点
- 优点:
可设置日志路径
可设置日志的保存日期,过期自动删除 - 缺点:
日志文件根据日期生成,假若某天日志很多,则该文件会很大,造成写入较慢
3)总结:还是log4j2强大(log4j2是一个用在服务器上的log包)
网友评论