golang程序日志记录
packagemainimport( "flag" "fmt" "log" "os" "runtime")var( logfilename=flag.String("log","cServer.log","Logfilename"))funcmain(){ runtime.GOMAXPROCS(runtime.Numcpu()) flag.Parse() //setlogfileStdout logfile,logErr:=os.Openfile(*logfilename,os.O_CREATE|os.O_RDWR|os.O_APPEND,0666) iflogErr!=nil{ fmt.Println("Failtofind",*logfile,"cServerstartFailed") os.Exit(1) } log.Setoutput(logfile) log.SetFlags(log.Ldate|log.Ltime|log.Lshortfile) //writelog log.Printf("Serverabort!Cause:%v\n","testlogfile")}
说明:
一、在主程序启动之前初始化log的格式后,以后用log.xxx 都将记录在初始的cServer.log文件中
二、上面的初始化的格式在log文件显示为:
2013/03/1910:44:26main.go:29:Serverabort!Cause:testlogfile2013/03/1910:44:27main.go:29:Serverabort!Cause:testlogfile
三、可以通过log.SetFlags()自定议你想要表达的格式
四、设置输出目的地log.Setoutput()
五、os.Openfile(*logfilename,0666)这是创建log文件.
5.1如果log文件不存在,创建一个新的文件os.O_CREATE
5.2打开文件的读写os.O_RDWR
5.3将log信息写入到log文件,是继承到当前log文件,不是覆盖os.O_APPEND
5.3log文件的权限位0666(即所有用户可读写)
总结以上是内存溢出为你收集整理的golang日志处理全部内容,希望文章能够帮你解决golang日志处理所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)