?
? ????? PHP ??? ???? ??? ?? ??
import "log"
概述
索引
示例
子目錄
Log 包實(shí)現(xiàn)了一個(gè)簡(jiǎn)單的日志包。它定義了一個(gè)類(lèi)型,記錄器,用于格式化輸出的方法。它還有一個(gè)預(yù)定義的“standard”記錄器,可以通過(guò)幫助函數(shù) Printf|ln,F(xiàn)atalf|ln 和 Panicf|ln 訪問(wèn),比手動(dòng)創(chuàng)建記錄器更易于使用。該記錄器寫(xiě)入標(biāo)準(zhǔn)錯(cuò)誤并打印每條記錄的消息的日期和時(shí)間。每條日志消息都在一個(gè)單獨(dú)的行上輸出:如果正在打印的消息不以換行符結(jié)尾,則記錄器將添加一條。寫(xiě)入日志消息后,致命函數(shù)調(diào)用 os.Exit(1) 。寫(xiě)入日志消息后, Panic 函數(shù)調(diào)用 panic 。
常量
func Fatal(v ...interface{})
func Fatalf(format string, v ...interface{})
func Fatalln(v ...interface{})
func Flags() int
func Output(calldepth int, s string) error
func Panic(v ...interface{})
func Panicf(format string, v ...interface{})
func Panicln(v ...interface{})
func Prefix() string
func Print(v ...interface{})
func Printf(format string, v ...interface{})
func Println(v ...interface{})
func SetFlags(flag int)
func SetOutput(w io.Writer)
func SetPrefix(prefix string)
type Logger
func New(out io.Writer, prefix string, flag int) *Logger
func (l *Logger) Fatal(v ...interface{})
func (l *Logger) Fatalf(format string, v ...interface{})
func (l *Logger) Fatalln(v ...interface{})
func (l *Logger) Flags() int
func (l *Logger) Output(calldepth int, s string) error
func (l *Logger) Panic(v ...interface{})
func (l *Logger) Panicf(format string, v ...interface{})
func (l *Logger) Panicln(v ...interface{})
func (l *Logger) Prefix() string
func (l *Logger) Print(v ...interface{})
func (l *Logger) Printf(format string, v ...interface{})
func (l *Logger) Println(v ...interface{})
func (l *Logger) SetFlags(flag int)
func (l *Logger) SetOutput(w io.Writer)
func (l *Logger) SetPrefix(prefix string)
Logger Logger.Output
log.go
這些標(biāo)志定義了哪些文本要加入由Logger生成的每個(gè)日志條目。
const ( // Bit 或'ed 一起控制什么打印。 // 無(wú)法控制它們出現(xiàn)的順序(列出的順序) // 這里)或他們提出的格式(如注釋中所述)。 // 僅當(dāng)Llongfile或Lshortfile時(shí),前綴后跟冒號(hào) // 已指定。 // 例如,標(biāo)志Ldate|Ltime(或LstdFlags)產(chǎn)生, // 2009/01/23 01:23:23 信息 // 而標(biāo)志Ldate | Ltime | Lmicroseconds | Llongfile生成, // 2009/01/23 01:23:23.123123 /a/b/c/d.go:23: 信息 Ldate = 1 << iota // 當(dāng)?shù)貢r(shí)區(qū)的日期:2009/01/23 Ltime // 在當(dāng)?shù)貢r(shí)區(qū)的時(shí)間:01:23:23 Lmicroseconds // 微秒分辨率:01:23:23.123123。 假設(shè)Ltime。 Llongfile // 完整的文件名和行號(hào):/a/b/c/d.go:23 Lshortfile // 最終文件名元素和行號(hào):d.go:23。 覆蓋Llongfile LUTC // 如果設(shè)置了日期或時(shí)間,請(qǐng)使用UTC而不是本地時(shí)區(qū) LstdFlags = Ldate | Ltime // 標(biāo)準(zhǔn)記錄器的初始值)
func Fatal(v ...interface{})
Fatal 等同于 Print(),然后調(diào)用 os.Exit(1)。
func Fatalf(format string, v ...interface{})
Fatalf 等同于 Printf(),然后調(diào)用os.Exit(1)。
func Fatalln(v ...interface{})
Fatalln 等同于 Println(),然后調(diào)用os.Exit(1)。
func Flags() int
標(biāo)志返回標(biāo)準(zhǔn)記錄器的輸出標(biāo)志。
func Output(calldepth int, s string) error
輸出寫(xiě)入記錄事件的輸出。字符串 s 包含要在記錄器的標(biāo)志指定的前綴之后打印的文本。如果 s 的最后一個(gè)字符不是換行符,則會(huì)追加換行符。 Calldepth 是在設(shè)置 Llongfile 或 Lshortfile 時(shí)計(jì)算文件名和行號(hào)時(shí)跳過(guò)的幀;值為1將 打印 Output 的調(diào)用者的詳細(xì)信息。
func Panic(v ...interface{})
Panic 等同于 Print(),然后調(diào)用 panic()。
func Panicf(format string, v ...interface{})
Panicf 相當(dāng)于 Printf(),然后調(diào)用 panic()。
func Panicln(v ...interface{})
Panicln 相當(dāng)于 Println(),然后調(diào) 用panic()。
func Prefix() string
前綴返回標(biāo)準(zhǔn)記錄器的輸出前綴。
func Print(v ...interface{})
打印調(diào)用打印輸出到標(biāo)準(zhǔn)記錄器。參數(shù) 以 fmt.Print 的方式處理。
func Printf(format string, v ...interface{})
Printf 調(diào)用輸出以打印到標(biāo)準(zhǔn)記錄器。參數(shù)以 fmt.Printf 的方式處理。
func Println(v ...interface{})
Println 調(diào)用輸出打印到標(biāo)準(zhǔn)記錄器。參數(shù)以 fmt.Println 的方式處理。
func SetFlags(flag int)
SetFlags 設(shè)置標(biāo)準(zhǔn)記錄器的輸出標(biāo)志。
func SetOutput(w io.Writer)
SetOutput 設(shè)置標(biāo)準(zhǔn)記錄器的輸出目的地。
func SetPrefix(prefix string)
SetPrefix 設(shè)置標(biāo)準(zhǔn)記錄器的輸出前綴。
Logger 表示一個(gè)活動(dòng)日志記錄對(duì)象,它可以向 io.Writer 生成輸出行。每個(gè)日志記錄操作都會(huì)對(duì)Writer的Write方法進(jìn)行一次調(diào)用。記錄器可以在多個(gè) goroutines 中同時(shí)使用; 它保證序列化對(duì) Writer 的訪問(wèn)。
type Logger struct { // 包含已過(guò)濾或未導(dǎo)出的字段}
package mainimport ("bytes""fmt""log")func main() {var ( buf bytes.Buffer logger = log.New(&buf, "logger: ", log.Lshortfile)) logger.Print("Hello, log file!") fmt.Print(&buf)}
func New(out io.Writer, prefix string, flag int) *Logger
新建了一個(gè)新的記錄器。out 變量設(shè)置將寫(xiě)入日志數(shù)據(jù)的目標(biāo)。前綴出現(xiàn)在每個(gè)生成的日志行的開(kāi)頭。標(biāo)志參數(shù)定義了日志記錄屬性。
func (l *Logger) Fatal(v ...interface{})
致命等同于 l.Print(),然后調(diào)用 os.Exit(1)。
func (l *Logger) Fatalf(format string, v ...interface{})
Fatalf 等同于 l.Printf(),然后調(diào)用 os.Exit(1)。
func (l *Logger) Fatalln(v ...interface{})
Fatalln 相當(dāng)于 l.Println(),然后調(diào)用 os.Exit(1)。
func (l *Logger) Flags() int
標(biāo)志返回記錄器的輸出標(biāo)志。
func (l *Logger) Output(calldepth int, s string) error
輸出寫(xiě)入記錄事件的輸出。字符串s包含要在記錄器的標(biāo)志指定的前綴之后打印的文本。如果s的最后一個(gè)字符不是換行符,則會(huì)追加換行符。Calldepth 用于恢復(fù) PC 并提供通用性,但目前在所有預(yù)定義路徑上它將為2。
package mainimport ("bytes""fmt""log")func main() {var ( buf bytes.Buffer logger = log.New(&buf, "INFO: ", log.Lshortfile) infof = func(info string) { logger.Output(2, info)})infof("Hello world") fmt.Print(&buf)}
func (l *Logger) Panic(v ...interface{})
Panic 等同于 l.Print(),然后調(diào)用 panic()。
func (l *Logger) Panicf(format string, v ...interface{})
Panicf 相當(dāng)于 l.Printf(),然后調(diào)用 panic()。
func (l *Logger) Panicln(v ...interface{})
Panicln 相當(dāng)于 l.Println(),然后調(diào)用 panic()。
func (l *Logger) Prefix() string
前綴返回記錄器的輸出前綴。
func (l *Logger) Print(v ...interface{})
打印調(diào)用 l.Output 打印到記錄器。參數(shù)以 fmt.Print的方式處理。
func (l *Logger) Printf(format string, v ...interface{})
Printf 調(diào)用 l.Output 打印到記錄器。參數(shù)以 fmt.Printf 的方式處理。
func (l *Logger) Println(v ...interface{})
Println 調(diào)用 l.Output 打印到記錄器。參數(shù)以 fmt.Println 的方式處理。
func (l *Logger) SetFlags(flag int)
SetFlags 設(shè)置記錄器的輸出標(biāo)志。
func (l *Logger) SetOutput(w io.Writer)
SetOutput 設(shè)置記錄器的輸出目的地。
func (l *Logger) SetPrefix(prefix string)
SetPrefix 設(shè)置記錄器的輸出前綴。
名稱 | 概述 |
---|---|
syslog | 軟件包系統(tǒng)日志為系統(tǒng)日志服務(wù)提供了一個(gè)簡(jiǎn)單的界面。 |