应用程序可以通过 UNIX domain sockets, UDP or TCP,向syslog守护进程发送日志。syslog守护进程可以在远端。

这样,就可以不用单独收集应用程序的日志了。

Dial()
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!

参考