HarmonyOS技术社区 · 2021年01月14日

HarmonyOS三方件开发指南(4)——Logger组件

目录:

1.      Logger功能介绍

2.      Logger使用方法

3.      Logger开发实现

4.      源码上传地址

 

1.      Logger功能介绍
1.1.     组件介绍:

Logger是一款log日志打印组件,输出的日志在开发工具的Hilog控制台中, 结构比较清晰可分辨。
1.2.     手机模拟器上运行效果:
【软通动力】HarmonyOS三方件开发指南(4)——Logger组件

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("需要打印的日志信息");

【软通动力】HarmonyOS三方件开发指南(4)——Logger组件

2.4 tag标签用法

Logger.t("tag标签").i("需要打印的日志信息");
【软通动力】HarmonyOS三方件开发指南(4)——Logger组件

2.5 Json用法

Logger.json("{\"key\": 3, \"value\": something}");

 

【软通动力】HarmonyOS三方件开发指南(4)——Logger组件

2.6 List用法

List<Integer> list = new ArrayList<>();

for (int i = 0; i < 5; i++) {

    list.add(i);

}

Logger.i(Arrays.asList(list));


【软通动力】HarmonyOS三方件开发指南(4)——Logger组件

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("需要打印的日志信息");

【软通动力】HarmonyOS三方件开发指南(4)——Logger组件

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/

推荐阅读
关注数
2957
内容数
446
华为鸿蒙相关技术,活动及资讯,欢迎关注及加入创作
目录
极术微信服务号
关注极术微信号
实时接收点赞提醒和评论通知
安谋科技学堂公众号
关注安谋科技学堂
实时获取安谋科技及 Arm 教学资源
安谋科技招聘公众号
关注安谋科技招聘
实时获取安谋科技中国职位信息