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

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
相关问题
容器组件onVisibleAreaChange生效
178浏览 • 1回复 待解决
openharmony: hilog私有日志无法输出
9504浏览 • 3回复 待解决
hilog日志如何落盘存储
771浏览 • 1回复 待解决
ConstraintSize尺寸设置生效
503浏览 • 1回复 待解决
通过WindowProperties设置属性生效
406浏览 • 1回复 待解决
textfield的截断属性生效
977浏览 • 1回复 待解决
如何根据环境控制日志输出级别
422浏览 • 1回复 待解决
Native日志如何输出到DevEcoHiLog中
372浏览 • 1回复 待解决
使用position之后height生效
430浏览 • 1回复 待解决
音频播放长时任务生效
173浏览 • 1回复 待解决
在嵌套组件中Scroll生效
227浏览 • 1回复 待解决
Harmony找不到HCI日志
837浏览 • 1回复 待解决
List组件的initialIndex属性设置生效
318浏览 • 1回复 待解决
ArkTS 中可以使用 console 打印日志吗?
1163浏览 • 1回复 待解决
如何解决hilog.debug日志无法打印
670浏览 • 1回复 待解决
Web组件的onKeyEvent键盘事件生效
419浏览 • 1回复 待解决
在cmd中打印Hilog日志
237浏览 • 1回复 待解决