Go syslog 包 - 消息在不同文件中重复三次
Posted
技术标签:
【中文标题】Go syslog 包 - 消息在不同文件中重复三次【英文标题】:Go syslog package - messages being triplicated in different files 【发布时间】:2020-01-13 00:20:27 【问题描述】:在 Debian 9 (stretch) 系统,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")
【问题讨论】:
【参考方案1】:发现我的问题。所以对于任何有同样问题的人。
编辑 /etc/systemd/journald.conf
删除“ForwardToSyslog=yes”行的注释并更改为 no。重启日志
编辑
万一有人发现这条消息有同样的问题,我需要一个额外的步骤。我有一些正在使用 Go 的日志功能的运行箱。必须重新启动它们的日志才能在日志中正确显示。
【讨论】:
以上是关于Go syslog 包 - 消息在不同文件中重复三次的主要内容,如果未能解决你的问题,请参考以下文章
linux日志系统介绍 —— syslog(),openlog(),closelog()