golang日志处理

golang日志处理,第1张

概述golang程序日志记录 package mainimport ( "flag" "fmt" "log" "os" "runtime")var ( logFileName = flag.String("log", "cServer.log", "Log file name"))func main() { runtime.GOMAXPROCS(runtime.NumCP

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日志处理所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1291321.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-10
下一篇 2022-06-10

发表评论

登录后才能评论

评论列表(0条)

保存