?
This document uses PHP Chinese website manual Release
import "log/syslog"
概述
索引
示例
軟件包系統(tǒng)日志為系統(tǒng)日志服務(wù)提供了一個(gè)簡(jiǎn)單的界面。它可以使用 UNIX 域套接字,UDP 或 TCP 將消息發(fā)送到 syslog 守護(hù)進(jìn)程。
只需調(diào)用一次 Dial 即可。在寫入失敗時(shí),系統(tǒng)日志客戶端將嘗試重新連接到服務(wù)器并重新寫入。
syslog 軟件包被凍結(jié),并且不接受新的函數(shù)。一些外部軟件包提供更多功能。參見:
https://godoc.org/?q=syslog
func NewLogger(p Priority, logFlag int) (*log.Logger, error)
type Priority
type Writer
func Dial(network, raddr string, priority Priority, tag string) (*Writer, error)
func New(priority Priority, tag string) (*Writer, error)
func (w *Writer) Alert(m string) error
func (w *Writer) Close() error
func (w *Writer) Crit(m string) error
func (w *Writer) Debug(m string) error
func (w *Writer) Emerg(m string) error
func (w *Writer) Err(m string) error
func (w *Writer) Info(m string) error
func (w *Writer) Notice(m string) error
func (w *Writer) Warning(m string) error
func (w *Writer) Write(b []byte) (int, error)
Bugs
Dial
doc.go syslog.go syslog_unix.go
func NewLogger(p Priority, logFlag int) (*log.Logger, error)
NewLogger 創(chuàng)建一個(gè) log.Logger,它的輸出以指定的優(yōu)先級(jí)寫入系統(tǒng)日志服務(wù),這是 syslog 設(shè)施和嚴(yán)重性的組合。logFlag 參數(shù)是通過(guò) log.New 創(chuàng)建記錄器的標(biāo)志集。
優(yōu)先級(jí)是系統(tǒng)日志設(shè)施和嚴(yán)重性的組合。例如,LOG_ALERT | LOG_FTP 從 FTP 設(shè)備發(fā)送警報(bào)嚴(yán)重性消息。默認(rèn)嚴(yán)重性是 LOG_EMERG;默認(rèn)設(shè)施是 LOG_KERN。
type Priority int
const ( // 來(lái)自 /usr/include/sys/syslog.h。 // 這些在Linux,BSD和OS X上是相同的。 LOG_EMERG Priority = iota LOG_ALERT LOG_CRIT LOG_ERR LOG_WARNING LOG_NOTICE LOG_INFO LOG_DEBUG)
const ( // 來(lái)自 /usr/include/sys/syslog.h。 // 這些與Linux,BSD和OS X上的LOG_FTP相同。 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)
Writer 是與系統(tǒng)日志服務(wù)器的連接。
type Writer struct { // 包含已過(guò)濾或未導(dǎo)出的字段}
func Dial(network, raddr string, priority Priority, tag string) (*Writer, error)
Dial 通過(guò)連接到指定網(wǎng)絡(luò)上的地址 raddr 來(lái)建立到日志守護(hù)程序的連接。每次寫入返回的作者都會(huì)發(fā)送一條日志消息,其中包含設(shè)施和嚴(yán)重性(來(lái)自優(yōu)先級(jí))和標(biāo)記。如果標(biāo)簽為空,則使用 os.Args0。如果網(wǎng)絡(luò)為空,撥號(hào)將連接到本地系統(tǒng)日志服務(wù)器。否則,請(qǐng)參閱 net.Dial 的文檔以獲取網(wǎng)絡(luò)和 raddr 的有效值。
package mainimport ("fmt""log""log/syslog")func main() { 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 建立到系統(tǒng)日志守護(hù)進(jìn)程的新連接。每次寫入返回的寫入程序都會(huì)發(fā)送一條具有給定優(yōu)先級(jí)(syslog 設(shè)施和嚴(yán)重性的組合)和前綴標(biāo)記的日志消息。如果標(biāo)簽為空,則使用 os.Args0。
func (w *Writer) Alert(m string) error
Alert 會(huì)記錄嚴(yán)重性為 LOG_ALERT 的消息,忽略傳遞給 New 的嚴(yán)重性。
func (w *Writer) Close() error
關(guān)閉 Close 與 syslog 守護(hù)進(jìn)程的連接。
func (w *Writer) Crit(m string) error
Crit 會(huì)記錄嚴(yán)重性為 LOG_CRIT 的消息,忽略傳遞給 New 的嚴(yán)重性。
func (w *Writer) Debug(m string) error
Debug 會(huì)記錄嚴(yán)重性為 LOG_DEBUG 的消息,忽略傳遞給 New 的嚴(yán)重性。
func (w *Writer) Emerg(m string) error
Emerg 記錄一條嚴(yán)重性為 LOG_EMERG 的消息,忽略傳遞給 New 的嚴(yán)重性。
func (w *Writer) Err(m string) error
Err 記錄嚴(yán)重性為 LOG_ERR 的消息,忽略傳遞給 New 的嚴(yán)重性。
func (w *Writer) Info(m string) error
Info 會(huì)記錄一條嚴(yán)重性為 LOG_INFO 的消息,忽略傳遞給 New 的嚴(yán)重性。
func (w *Writer) Notice(m string) error
通知會(huì)記錄一條嚴(yán)重性為 LOG_NOTICE 的消息,忽略傳遞給 New 的嚴(yán)重性。
func (w *Writer) Warning(m string) error
警告會(huì)記錄嚴(yán)重性為 LOG_WARNING 的消息,忽略傳遞給 New 的嚴(yán)重性。
func (w *Writer) Write(b []byte) (int, error)
Write 向 syslog 守護(hù)進(jìn)程發(fā)送日志消息。
? 該軟件包未在 Windows 上實(shí)現(xiàn)。當(dāng)系統(tǒng)日志包被凍結(jié)時(shí),鼓勵(lì) Windows 用戶使用標(biāo)準(zhǔn)庫(kù)外的包。
? 該計(jì)劃未在計(jì)劃9中實(shí)施。
? 該包不在NaCl(Native Client)上實(shí)現(xiàn)。