鴻蒙HarmonyOS三方件開發(fā)指南(4)-Logger組件
51CTO和華為官方合作共建的鴻蒙技術(shù)社區(qū)
https://harmonyos.51cto.com/#zz
1. Logger功能介紹
1.1. 組件介紹:
Logger是一款log日志打印組件,輸出的日志在開發(fā)工具的Hilog控制臺中, 結(jié)構(gòu)比較清晰可分辨。
1.2. 手機(jī)模擬器上運(yùn)行效果:

2. Logger使用方法
2.1在目錄build.gradle下
- implementation project(":Logger_harmony")
2.2在項(xiàng)目的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標(biāo)簽用法
- Logger.t("tag標(biāo)簽").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 進(jìn)階用法,可以打印出事件分發(fā)方法
- 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 日志保存到分布式目錄中,調(diào)用方法(一定要添加項(xiàng)目的讀寫權(quán)限)
- Logger.addLogAdapter(new DiskLogAdapter(context));
2.9 分布式目錄創(chuàng)建方式
- File distDir = context.getDistributedDir();
- String filePath = distDir + File.separator + "logger.csv";
目前日志只支持4種級別打印,等待harmonyOs Api后續(xù)更新
- INFO ,WARN,ERROR,ASSERT
3. Logger開發(fā)實(shí)現(xiàn)
Logger通過封裝hoarmonyos 的Hilog組件及其打印日志的各種方法,實(shí)現(xiàn)Hilog的基本用法, 添加了json ,list和日志存儲功能。
項(xiàng)目源代碼地址:https://github.com/orhanobut/logger
©著作權(quán)歸作者和HarmonyOS技術(shù)社區(qū)共同所有,如需轉(zhuǎn)載,請注明出處,否則將追究法律責(zé)任
51CTO和華為官方合作共建的鴻蒙技術(shù)社區(qū)
https://harmonyos.51cto.com/#zz