0

在 Debian 9(拉伸)系统 4.14 内核上,我有一些用 Go 编写的应用程序,它们广泛使用日志记录。我发现这些日志消息被重复了三次。

使用以下代码,所有日志消息都写入 /var/log/messages 、 /var/log/kern.log 和 /var/log/syslog

我认为这与 journald 和 syslog(或 rsyslog)的双重职责有关,但我不确定。

如果有帮助,这是一个运行 Debian 发行版的股票 Beaglebone Black。

如何阻止将这些消息写入 kern.log 和 syslog 并将它们写入消息?

package main

import (
    "log"
    "log/syslog"
)

func main() {
    logwriter,e:= syslog.New(syslog.LOG_NOTICE,"testprog")
    if e == nil {
        log.SetOutput(logwriter)
    }
    log.Println("Hello Friend")
}
4

1 回答 1

0

发现了我的问题。所以对于任何有同样问题的人。

编辑 /etc/systemd/journald.conf

删除“ForwardToSyslog=yes”行的注释并更改为 no。重启日志

编辑

万一有人发现这条消息有同样的问题,我需要一个额外的步骤。我有一些正在使用 Go 的日志功能的运行箱。必须重新启动他们的日志才能在日志中正确显示。

于 2020-01-13T02:09:53.410 回答