import "log/syslog"
syslog包提供了一个简单的系统日志服务接口,可以通过使用UNIX domain sockets
,UDP
或TCP
将消息发送到syslog守护程序。
只需调用一次Dial
,因为在写入失败时,syslog客户端将尝试重新连接到服务器并再次写入。
syslog包已归档,不再接受新功能。一些外部包提供更多功能。看到:https://godoc.org/?q=syslog
func NewLogger(p Priority, logFlag int) (*log.Logger, error)
NewLogger()
创建一个log.Logger
,其输出将写入具有指定优先级的系统日志服务,即syslog工具和severity(优先级别)的组合。
log.New()
以创建Logger
的标志集(flag set)。type Priority int
优先级是syslog工具和serverity(优先级别)的组合。例如,LOG_ALERT
|LOG_FTP
从FTP工具发送警报serverity(优先级别)消息。默认serverity(优先级别)为LOG_EMERG
;默认工具是LOG_KERN
。
const (
// From /usr/include/sys/syslog.h.
// These are the same on Linux, BSD, and OS X.
LOG_EMERG Priority = iota
LOG_ALERT
LOG_CRIT
LOG_ERR
LOG_WARNING
LOG_NOTICE
LOG_INFO
LOG_DEBUG
)
const (
// From /usr/include/sys/syslog.h.
// These are the same up to LOG_FTP on Linux, BSD, and OS X.
LOG_KERN Priority = iota << 3
LOG_USER
LOG_MAIL
LOG_DAEMON
LOG_AUTH
LOG_SYSLOG
LOG_LPR
LOG_NEWS
LOG_UUCP
LOG_CRON
LOG_AUTHPRIV
LOG_FTP
LOG_LOCAL0
LOG_LOCAL1
LOG_LOCAL2
LOG_LOCAL3
LOG_LOCAL4
LOG_LOCAL5
LOG_LOCAL6
LOG_LOCAL7
)
func Dial(network, raddr string, priority Priority, tag string) (*Writer, error)
Dial通过连接到指定网络的raddr
地址来建立与日志守护程序的连接。每次写入返回的writer都会发送一条日志消息,其中包含工具和serverity(优先级别)和标记。
os.Args[0]
。syslog
服务器。否则,请参阅net.Dial
的文档以获取network
和raddr
的有效值。
sysLog, err := syslog.Dial("tcp", "localhost:1234",
syslog.LOG_WARNING|syslog.LOG_DAEMON, "demotag")
if err != nil {
log.Fatal(err)
}
fmt.Fprintf(sysLog, "This is a daemon warning with demotag.")
sysLog.Emerg("And this is a daemon emergency with demotag.")
func New(priority Priority, tag string) (*Writer, error)
New()
建立与系统日志守护程序的新连接。每次写入返回的writer都会发送一条日志消息,其中包含给定的优先级(syslog工具和serverity的组合)和前缀标记。如果tag为空,则使用os.Args[0]
。
type Writer struct {
// 包含已过滤或未导出的字段
}
Writer
是一个syslog
服务的连接。
func (w *Writer) Alert(m string) error
Alert()记录serverity(优先级别)为LOG_ALERT的消息,忽略传递给New的severity(优先级别)。
func (w *Writer) Close() error
Close关闭与syslog守护程序的连接。
func (w *Writer) Crit(m string) errors
Crit记录serverity(优先级别)为LOG_CRIT
的消息,忽略传递给New的serverity。
func (w *Writer) Debug(m string) error
Debug会记录serverity(优先级别)为LOG_DEBUG
的消息,忽略传递给New的serverity。
func (w *Writer) Emerg(m string) error
Emerg记录serverity(优先级别)为LOG_EMERG
的消息,忽略传递给New的serverity。
func (w *Writer) Err(m string) error
Err记录serverity(优先级别)为LOG_ERR
的消息,忽略传递给New的serverity。
func (w *Writer) Info(m string) error
Info会记录serverity(优先级别)为LOG_INFO
的消息,忽略传递给New的serverity。
func (w *Writer) Notice(m string) error
注意记录serverity(优先级别)为LOG_NOTICE
的消息,忽略传递给New的serverity。
func (w *Writer) Warning(m string) error
Warning会记录serverity(优先级别)为LOG_WARNING
的消息,忽略传递给New的serverity。
func (w *Writer) Write(b []byte) (int, error)
Write将日志消息发送到syslog守护程序。