目录:
1. Logger功能介绍
1.1. 组件介绍:
Logger是一款log日志打印组件,输出的日志在开发工具的Hilog控制台中, 结构比较清晰可分辨。
1.2. 手机模拟器上运行效果:
2. Logger使用方法
2.1在目录build.gradle下
implementation project(":Logger_harmony")
2.2在项目的MyApplication->onInitialize方法中添加(Log级别必须是debug以上):
Logger.addLogAdapter(new HarmonyOsLogAdapter() {
@Override
public boolean isLoggable(int priority, @org.jetbrains.annotations.Nullable String tag) {
return BuildConfig.DEBUG;
}
});`<span class="colour" style="color:rgb(215, 58, 73)">Logger</span><span class="colour" style="color:rgb(111, 66, 193)">.addLogAdapter</span>(new HarmonyOsLogAdapter() {
<span class="colour" style="color:rgb(3, 47, 98)">@Override</span>
public boolean isLoggable(int priority, <span class="colour" style="color:rgb(3, 47, 98)">@org</span>.jetbrains.annotations.Nullable String tag) {
<span class="colour" style="color:rgb(215, 58, 73)">return</span> <span class="colour" style="color:rgb(215, 58, 73)">BuildConfig</span><span class="colour" style="color:rgb(111, 66, 193)">.DEBUG</span>;
}
});`
2.3 基本用法
Logger.i("需要打印的日志信息");
2.4 tag标签用法
Logger.t("tag标签").i("需要打印的日志信息");
2.5 Json用法
Logger.json("{\"key\": 3, \"value\": something}");
2.6 List用法
List<Integer> list = new ArrayList<>();
for (int i = 0; i < 5; i++) {
list.add(i);
}
Logger.i(Arrays.asList(list));
2.7 进阶用法,可以打印出事件分发方法
FormatStrategy formatStrategy = PrettyFormatStrategy.newBuilder()
.showThreadInfo(false) // (Optional) Whether to show thread info or not. Default true
.methodCount(0) // (Optional) How many method line to show. Default 2
.methodOffset(7) // (Optional) Hides internal method calls up to offset. Default 5
.logStrategy(new LogcatLogStrategy()) // (Optional) Changes the log strategy to print out. Default LogCat
.tag("My custom tag") // (Optional) Global tag for every log. Default PRETTY_LOGGER
.build();
Logger.addLogAdapter(new AndroidLogAdapter(formatStrategy));
Logger.i("需要打印的日志信息");
2.8 日志保存到分布式目录中,调用方法(一定要添加项目的读写权限)
Logger.addLogAdapter(new DiskLogAdapter(context));
2.9 分布式目录创建方式
File distDir = context.getDistributedDir();
String filePath = distDir + File.separator + "logger.csv";
目前日志只支持4种级别打印,等待harmonyOs Api后续更新
INFO ,WARN,ERROR,ASSERT
3. Logger开发实现
Logger通过封装hoarmonyos 的Hilog组件及其打印日志的各种方法,实现Hilog的基本用法, 添加了json ,list和日志存储功能。
作者:软通动力乾
想了解更多内容,请访问: 51CTO和华为官方战略合作共建的鸿蒙技术社区https://harmonyos.51cto.com/