概述
应用程序可以通过 UNIX domain sockets, UDP or TCP,向syslog守护进程发送日志。syslog守护进程可以在远端。
这样,就可以不用单独收集应用程序的日志了。
golang提供了syslog 包,只需要调用Dial(),就可以连接syslog服务器,然后发送消息。
在写失败的情况下,syslog client会尝试重连syslog服务器,并重写。
Dial定义如下
func Dial(network, raddr string, priority Priority, tag string) (*Writer, error)
Dial 建立一个到log守护进程的连接,这个守护进程的地址由参数raddr指定,连接方式由参数network定义(可以为tcp, udp,或空)。
如果network是空,Dial会连接到本地的syslog服务器。
下面简单举例说明。
package main
import (
"log"
"log/syslog"
)
func main() {
sysLog, err := syslog.Dial("", "",syslog.LOG_ERR, "Saturday")
if err != nil {
log.Fatal(err)
}
sysLog.Emerg("Hello world!")
}
程序执行后,查看/var/log/system.log文件,可以看到最新的一条日志内容如下:
Feb 16 20:52:44 admin Saturday[86161]: Hello world!
参考
最后
以上就是可靠飞机为你收集整理的golang日志服务器_golang 写日志到syslog的全部内容,希望文章能够帮你解决golang日志服务器_golang 写日志到syslog所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复