轻量级Log日志框架,支持输出到控制台和文件等支持自定义扩展。 输出到文件的Log以自定义 Tag 作为文件名,单个日志文件限制大小为4M。
- 输出Log到控制台
- 输出Log到文件
- 可扩展输出Log到其他介质
- 支持自定义Tag
- 支持输出线程信息
- 支持输出调用堆栈信息
- 支持Log定位
- 支持输出格式自定义
- 支持多线程环境
- 添加依赖
implementation 'io.github.heartinfei:slogger:1.0.4'
- 初始化
public class SApplication extends Application {
@Override
public void onCreate() {
super.onCreate();
S.init(this);
if (BuildConfig.DEBUG) {
S.addPlant(new DebugPlan()); //输出到控制台
} else {
S.addPlant(new ReleasePlan(path)); //输出到文件
}
}
}
- 使用
//普通输出
S.i("Test");
//Error输出
S.e(...);
//自定义Tag
S.log("MyTag","Message .....");
- 自定义
Configuration
Configuration config = new Configuration.Builder(this)
.trackInfoDeep(Integer.MAX_VALUE) //打印堆栈深度
//确保你的包名和源码包一致,如果你的程序存在多个构建这里需要注意否则堆栈信息可能不正确
.pkgName(BuildConfig.APPLICATION_ID)
.tag("S_LOG") //default is Application name
.isPrintLineNo(true) //打印行号 defaut true
.isPrintTag(true) //打印Tag defaut true
.isPrintTrackInfo(true) //打印堆栈 defaut true
.isPrintThreadInfo(true)//打印线程信息 defaut true
.build();
S.addConfig(c);
-
扩展Log输出方式 通过继承
BasePlan
可创建自定义Plan
,可参考ReleasePlan
的实现 -
其他请参考Demo