您现在的位置是:首页 > Javascript
当前栏目
鸿蒙HarmonyOS三方件开发指南(4)-Logger组件
2023-04-18 14:51:01 时间
https://harmonyos.51cto.com/#zz
1. Logger功能介绍
1.1. 组件介绍:
Logger是一款log日志打印组件,输出的日志在开发工具的Hilog控制台中, 结构比较清晰可分辨。
1.2. 手机模拟器上运行效果:
![](https://s3.51cto.com/oss/202101/19/cea59002e935115fdfc3a4960b2a6a15.png)
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("需要打印的日志信息");
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和日志存储功能。
项目源代码地址:https://github.com/orhanobut/logger
©著作权归作者和HarmonyOS技术社区共同所有,如需转载,请注明出处,否则将追究法律责任
https://harmonyos.51cto.com/#zz
相关文章
- 前端面试题及答案整理(2022最新版)
- 新一代状态管理工具 -- Pinia 上手指南
- 【TypeScript】TS进阶-装饰器(九)
- vue 项目的屏幕自适应方案
- 【node进阶】在node.js中优雅的使用Socket.IO模块
- vue深拷贝的三种实现方式
- HTML的基本标签及属性
- 【Web 三件套】个人简单博客系统页面搭建(附源码)
- vue开发页面自适应屏幕尺寸
- Vue-cli(vue脚手架)上万字总结,超详细教程
- Vue3预览并打印PDF的两种方法
- nvm安装步骤
- 快看,他纯用css绘制出了嫦娥手捧的月兔,关键还能飞,牛
- 权限管理实现的两种方式(详解)
- 一个简单的网页设计HTML5作业
- VUE框架
- 前端实现分页效果
- 【Vue面试专题】50+道经典Vue面试题详解!
- elementUI自定义上传文件(前端后端超详细过程)
- vue-devtools的安装与使用