目录:

1.      Logger功能介绍

2.      Logger使用方法

3.      Logger开发实现

4.      源码上传地址

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;

    }

});

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

作者:软通动力乾

最新文章

  1. SQL Server 2008中的代码安全&lt;转&gt;
  2. 【JAE】JAE京东云擎部署首个Java应用
  3. AfxMessageBox和MessageBox区别
  4. Git – fatal: Unable to create ‘/.git/index.lock’: File exists错误解决办法
  5. Android 渗透测试学习手册 翻译完成!
  6. CentOS 6.8内核版本升级(升级至3.10)(转)
  7. setcookie各个参数详解
  8. BZOJ 1015: [JSOI2008]星球大战starwar 并查集
  9. PAT 65. A+B and C (64bit) (20)
  10. UVa10340.All in All
  11. BZOJ 2101: [Usaco2010 Dec]Treasure Chest 藏宝箱( dp )
  12. poll系统调用的内核态实现机制分析
  13. AspectCore中的IoC容器和依赖注入
  14. 《Android进阶之光》--Android新特性
  15. 【Luogu1414】又是毕业季II(数论)
  16. C++之标准输入输出
  17. 2.1命令行和JSON的配置「深入浅出ASP.NET Core系列」
  18. window开发环境常用操作
  19. Linux下Netty实现高性能UDP服务(SO_REUSEPORT)
  20. FPGA editor 的使用之一 ------ Probe探针

热门文章

  1. [SQL Server]多次为 &#39;派生表&#39; 指定了列 &#39;id&#39;
  2. 个人项目作业——wc.exe
  3. js原生方法filter实现
  4. STL——容器(Set &amp; multiset)的大小
  5. C# 好代码学习笔记(1):文件操作、读取文件、Debug/Trace 类、Conditional条件编译、CLS
  6. linux之文本编辑器vi常用命令
  7. mysql-创建用户报错ERROR 1396 (HY000): Operation CREATE USER failed for &#39;XXXX&#39;@&#39;XXXX&#39;
  8. UWP ListView添加不同样式
  9. HCIP --- BGP 总结
  10. npm install 报错解决办法