【Hilog】鸿蒙系统日志源码分析

【Hilog】鸿蒙系统日志源码分析

  • Hilog采用C/S结构,Hilogd作为服务端提供日志功能。Client端通过API调用(最终通过socket通讯)与HiLogd打交道。简易Block图如下。
  • 这里主要分析一下。Hilog的读、写、压缩落盘,以及higlog与android log在这几个流程上的差异点。

HiLog日志写入流程

HiLog写入流程与Android Log主要差异点:

  1. Buffer满时清理流程,higlog无android的黑白名单、 清理log输入最多的uid的流程。hilog清理同域旧的5%的log。
  2. 支持域流量控制:单域固定时间端间隔内,只允许写入固定的流量。超出流量后,Drop msg。

HiLog日志读取流程

  • HiLog读取时基本上没有什么差异。

HiLog日志压缩落盘

  • HiLog日志落盘与Android差异:
  1. 支持压缩落盘:先将buffer压缩,压缩后的buffer落盘到文件中。
  2. HiLogD直接落盘:android log需要将log日志读取到client端,Client端进行落盘。HiLog直接在服务端进行落盘。
相关推荐
AlbertZein38 分钟前
HarmonyOS5 源码分析 —— 生命周期与状态管理(2)
架构·harmonyos
Near_Li1 小时前
uniapp-使用mumu模拟器调试安卓APP
android·uni-app
zhangphil2 小时前
Android MediaMetadataRetriever取视频封面,Kotlin(1)
android·kotlin
onthewaying4 小时前
详解 Android GLSurfaceView 与 Renderer:开启你的 OpenGL ES 之旅
android·opengl
aqi005 小时前
FFmpeg开发笔记(八十)使用百变魔音AiSound实现变声特效
android·ffmpeg·音视频·直播·流媒体
xzkyd outpaper6 小时前
Android中RecyclerView基本使用
android
长弓三石6 小时前
鸿蒙网络编程系列61-仓颉版基于TCP实现最简单的HTTP服务器
网络·harmonyos·鸿蒙·仓颉
我命由我123457 小时前
Android 开发问题:The specified child already has a parent.
android·java·开发语言·java-ee·android jetpack·android-studio·android runtime
pengyu7 小时前
【Kotlin系统化精讲:肆】 | 数据类型之基本数据类型:代码世界里的砖瓦水泥沙
android·kotlin
三雒7 小时前
凡猿修仙传: Android SO 压缩方案 Nano
android