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

软通田可辉
发布于 2021-1-14 09:06
浏览
18收藏

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;

    }

});

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和日志存储功能。

 

项目源代码地址:https://github.com/isoftstone-dev/Logger_Harmony

欢迎交流:HWIS-HOS@isoftstone.com

©著作权归作者所有,如需转载,请注明出处,否则将追究法律责任
已于2021-3-2 09:20:00修改
28
收藏 18
回复
举报
25条回复
按时间正序
/
按时间倒序
definitely
definitely

放码好评,放到附件里就更好了,看完直接下载🤩

回复
2021-1-14 10:58:05
jowvid
jowvid 回复了 definitely
放码好评,放到附件里就更好了,看完直接下载🤩

臣附议

回复
2021-1-14 11:01:06
江湖人称鸿老师
江湖人称鸿老师

请问目前是否支持xml格式日志输出?

回复
2021-1-14 14:35:00
鲜橙加冰
鲜橙加冰 回复了 definitely
放码好评,放到附件里就更好了,看完直接下载🤩

同意。

回复
2021-1-14 14:58:33
软通田可辉
软通田可辉 回复了 definitely
放码好评,放到附件里就更好了,看完直接下载🤩

感谢宝贵意见

回复
2021-1-14 16:59:28
张荣超_九丘教育
张荣超_九丘教育

赞,期待开发指南系列的后续更新

回复
2021-1-14 22:19:58
软通田可辉
软通田可辉 回复了 江湖人称鸿老师
请问目前是否支持xml格式日志输出?

不支持,目前harmonyos  api 不支持xml解析。

回复
2021-1-15 09:10:29
wx5ff26e0ee1883
wx5ff26e0ee1883 回复了 江湖人称鸿老师
请问目前是否支持xml格式日志输出?

不支持  harmonyos  sdk里面貌似把Java的xml解析和组成 还没封装进来    具体可以去看看 

回复
2021-1-15 10:21:36
软通田可辉
软通田可辉 回复了 jowvid
臣附议

臣遵旨

回复
2021-1-19 09:51:55
江湖人称鸿老师
江湖人称鸿老师

请问:使用lib时如何自定义日志目录?

回复
2021-1-21 11:52:48
软通田可辉
软通田可辉 回复了 江湖人称鸿老师
请问:使用lib时如何自定义日志目录?

您可以在CsvformatStrategy.java中找到该目录;如果要更改目录,则必须自己更改代码。

回复
2021-1-21 15:03:36
软通田可辉
软通田可辉 回复了 张荣超_九丘教育
赞,期待开发指南系列的后续更新

感谢老师关注,开发指南系列后续还有持续规划

回复
2021-1-25 11:16:52
mb5feda05d449e5
mb5feda05d449e5

辉哥威武!

回复
2021-1-28 09:26:15
软通田可辉
软通田可辉 回复了 mb5feda05d449e5
辉哥威武!

欢迎常来交流学习

回复
2021-1-28 09:52:18
浩然兄弟
浩然兄弟

辉哥威武!

回复
2021-2-10 14:35:53
guangyi100
guangyi100

辉哥威武!

回复
2021-2-18 17:10:13
软通田可辉
软通田可辉 回复了 浩然兄弟
辉哥威武!

欢迎常来交流学习

回复
2021-2-19 08:54:55
软通田可辉
软通田可辉 回复了 guangyi100
辉哥威武!

欢迎常来交流学习

回复
2021-2-19 08:55:03
没用的喵叔
没用的喵叔

 

自定义HarmonyLogAdapter适配鸿蒙,目前只支持控制台Log,不支持写文件
https://gitee.com/andych008/logger_ohos

 

1
回复
2021-2-20 19:31:24
开鸿包月东
开鸿包月东

没人发现,楼主分享的github连接时android项目,而非鸿蒙的吗?

回复
2021-3-1 16:42:36
回复
    相关推荐