Metalog 所有日志都用 [kernel] 打印

Posted

技术标签:

【中文标题】Metalog 所有日志都用 [kernel] 打印【英文标题】:Metalog all logs are printed with [kernel] 【发布时间】:2018-12-05 10:35:31 【问题描述】:

我安装了 metalog 我的服务器并使用 C++ 应用程序来编写日志。 这是我打印到系统日志的方式

openlog(facility.c_str(), LOG_CONS | LOG_PID | LOG_NDELAY | LOG_PERROR, LOG_LOCAL0);

syslog(LOG_INFO, "%s", stderr_msg.c_str());

我所有的日志都以以下格式打印:

<date> [kernel] <log text message>

例如

Dec 05 12:19:31 [kernel] this is an example of log

我想改变它而不是[内核],它会打印相关模块。 或者至少是我的应用程序名称,但不是“内核”。 我该怎么做?

【问题讨论】:

【参考方案1】:

我的问题是我从另一个进程启动 Metalog,它将其 stdout 和 stderr 指向 /dev/kmsg,因此 Metalog 的分叉进程也是如此。这导致日志看起来像是来自内核。

【讨论】:

以上是关于Metalog 所有日志都用 [kernel] 打印的主要内容,如果未能解决你的问题,请参考以下文章

Centos7 终端报Message from syslogd :kernel:unregister_netdevice

kernel编译体验

Windows 内核错误日志

魔兽世界中NQ、FQ、CJQ在打本中分别都用啥审判和圣印?

[kernel]内核日志及printk结构分析

具体解释kernel中watchdog 驱动程序