golang日志输出
生活随笔
收集整理的這篇文章主要介紹了
golang日志输出
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
golang 程序日志記錄
package?mainimport?("flag""fmt""log""os""runtime" )var?(logFileName?=?flag.String("log",?"cServer.log",?"Log?file?name") )func?main()?{runtime.GOMAXPROCS(runtime.NumCPU())flag.Parse()//set?logfile?StdoutlogFile,?logErr?:=?os.OpenFile(*logFileName,?os.O_CREATE|os.O_RDWR|os.O_APPEND,?0666)if?logErr?!=?nil?{fmt.Println("Fail?to?find",?*logFile,?"cServer?start?Failed")os.Exit(1)}log.SetOutput(logFile)log.SetFlags(log.Ldate?|?log.Ltime?|?log.Lshortfile)//write?loglog.Printf("Server?abort!?Cause:%v?\n",?"test?log?file")}說(shuō)明:
一、在主程序啟動(dòng)之前初始化log的格式后,以后用log.xxx 都將記錄在初始的cServer.log文件中
二、上面的初始化的格式在log文件顯示為:
2013/03/19?10:44:26?main.go:29:?Server?abort!?Cause:test?log?file? 2013/03/19?10:44:27?main.go:29:?Server?abort!?Cause:test?log?file三、可以通過(guò)log.SetFlags()自定議你想要表達(dá)的格式
//Flag可以是以下值,或以下值或的值。Ldate ?// 形如 2009/01/23 的日期 Ltime ? ? ? ? ? ? ? // 形如 01:23:23 ??的時(shí)間 Lmicroseconds ? ? ? // 形如 01:23:23.123123 ??的時(shí)間 Llongfile ? ? ? ? ? // 全路徑文件名和行號(hào): /a/b/c/d.go:23? Lshortfile ? ? ? ? ?// 文件名和行號(hào): d.go:23四、設(shè)置輸出目的地log.SetOutput()
五、os.OpenFile(*logFileName, os.O_CREATE|os.O_RDWR|os.O_APPEND, 0666)這是創(chuàng)建log文件.
總結(jié)
以上是生活随笔為你收集整理的golang日志输出的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: C语言函数为什么不可以声明默认参数?
- 下一篇: pkg_resources.Distri