对于Go语言的日志来说,如何将log写到指定的文件里面?这是非常有必的。
下面是一个简单的例子。
第一种方法:
package mainimport ("log""os""time")func init() {file := "./" +"log"+ ".txt"logFile, err := os.OpenFile(file, os.O_RDWR|os.O_CREATE|os.O_APPEND, 0766)if err != nil {panic(err)}log.SetOutput(logFile) // 将文件设置为log输出的文件log.SetPrefix("[logTool]")log.SetFlags(log.LstdFlags | log.Lshortfile | log.LUTC)return}func main() {log.Println("Hello laofan!") // log 还是可以作为输出的前缀return}
输出结果:
// message.txt里面 显示[logTool]2021/09/30 15:30:05 log.go:24: Hello laofan!
第二种方法:
package mainimport ("log""os""time")var loger *log.Loggerfunc init() {file := "./" + time.Now().Format("20210930") + ".txt"logFile, err := os.OpenFile(file, os.O_RDWR|os.O_CREATE|os.O_APPEND, 0766)if err != nil {panic(err)}loger = log.New(logFile, "[logTool]",log.LstdFlags | log.Lshortfile | log.LUTC)// 将文件设置为loger作为输出return}func main() {// 使用的时候,需要采用loger作为输出的前缀loger.Println("Hello:laofan!")return}
输出结果:
// message.txt里面 显示[logTool]2021/09/30 15:35:20 log.go:24: Hello laofan!
