日志被限流,关闭限流也不生效,导致日志丢失

hdc shell hilog -Q domainoff 
hdc shell hilog -Q pidoff 
hdc shell hilog -G 2M

使用以上命令关闭限流后,依然是限流状态。

报错截图:

日志被限流,关闭限流也不生效,导致日志丢失-鸿蒙开发者社区

正常情况下应打印0-100。

HarmonyOS
2024-05-10 18:32:08
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
cbaby

根因是底层日志socket通信丢失,将以下内容保存为hilogd.cfg文件:

{ 
  "jobs": [ 
    { 
      "name": "init", 
      "cmds": [ 
        "mkdir /data/log/ 0775 system log", 
        "mkdir /data/log/dict/ 0755 logd log", 
        "mkdir /data/log/hilog/ 0755 logd log", 
        "start hilogd" 
      ] 
    }, 
    { 
      "name": "services:hilogd", 
      "cmds": [ 
        "write /proc/sys/net/unix/max_dgram_qlen 600" 
      ] 
    } 
  ], 
  "services": [ 
    { 
      "name": "hilogd", 
      "path": [ 
        "/system/bin/hilogd" 
      ], 
      "disabled": 1, 
      "uid": "logd", 
      "gid": [ 
        "log", 
        "system", 
        "readproc", 
        "shell" 
      ], 
      "sandbox": 0, 
      "file": [ 
        "/dev/kmsg rd 0640 root root" 
      ], 
      "socket": [ 
        { 
          "name": "hilogInput", 
          "family": "AF_UNIX", 
          "type": "SOCK_DGRAM", 
          "protocol": "default", 
          "permissions": "0222", 
          "uid": "logd", 
          "gid": "log", 
          "option": [ 
            "SOCKET_OPTION_PASSCRED" 
          ] 
        }, 
        { 
          "name": "hilogOutput", 
          "family": "AF_UNIX", 
          "type": "SOCK_SEQPACKET", 
          "protocol": "default", 
          "permissions": "0666", 
          "uid": "logd", 
          "gid": "log", 
          "option": [ 
            "SOCKET_OPTION_PASSCRED" 
          ] 
        }, 
        { 
          "name": "hilogControl", 
          "family": "AF_UNIX", 
          "type": "SOCK_SEQPACKET", 
          "protocol": "default", 
          "permissions": "0660", 
          "uid": "logd", 
          "gid": "log", 
          "option": [ 
          ] 
        } 
      ], 
      "start-mode": "condition", 
      "secon": "u:r:hilogd:s0" 
    } 
  ] 
}

再执行以下命令将其推入手机重启:

hdc shell "mount -o remount,rw /" 
hdc file send hilogd.cfg /system/etc/init/ 
hdc shell reboot

打印日志频率过快还是会丢失。使用以下命令来减少日志打印:

关闭所有日志 
hdc shell hilog -b X 
打开debug级别的你的tag的日志 
hdc shell hilog -b D -T 你的tag(见下方截图) 
关闭限流、调整缓存 
hdc shell hilog -Q domainoff 
hdc shell hilog -Q pidoff 
hdc shell  hilog -G 2M
分享
微博
QQ
微信
回复
2024-05-11 10:22:31
相关问题
HarmonyOS PUSH服务限流问题 -
195浏览 • 1回复 待解决
Native侧HILOG日志经常性丢失
697浏览 • 1回复 待解决
HarmonyOS NAPI层日志输出末尾字符丢失
176浏览 • 1回复 待解决
组合手势抽离成方法后生效
836浏览 • 1回复 待解决
HarmonyOS 日志打印不全
743浏览 • 2回复 待解决
HarmonyOS LineSpace对单行生效
110浏览 • 1回复 待解决
faultLogger故障日志获取
1578浏览 • 1回复 待解决
HarmonyOS margin生效
905浏览 • 1回复 待解决
Harmony找不到HCI日志
2900浏览 • 1回复 待解决
HarmonyOS 应用崩溃日志问题
861浏览 • 1回复 待解决
HarmonyOS hilog日志文件乱码
385浏览 • 1回复 待解决