1.stdout输出log信息
package main import ( "bytes" "fmt" "log" ) func main() { fmt.Println("demo of log") var ( buf bytes.Buffer logger = log.New(&buf, "Info:", //log参数配置组合,列出参考。有些参数只能一个生效,比如log.Llongfile|log.Lshortfile。 log.Ldate|log.Ltime|log.Lmicroseconds|log.Llongfile|log.Lshortfile|log.LUTC|log.LstdFlags) infof = func(info string) { logger.Output(2, info) } ) infof("hello world") fmt.Println(&buf) fmt.Println("demo of log over") }
2.在log文件输出log信息,注意:需要先创建log目录,否则会报错
package main import ( "fmt" "io" "log" "os" ) func main() { file, err := os.OpenFile("log/g1.log", os.O_CREATE|os.O_WRONLY|os.O_APPEND, 0666) if err != nil { log.Fatalln("Failed to open log file", os.Stdout, ":", err) } multi := io.MultiWriter(file, os.Stdout) myLogger := log.New(multi, "Info:", log.Ldate|log.Ltime|log.Llongfile) infof := func(info string) { myLogger.Output(2, info) } infof("hi") fmt.Println("log file") }