BLog4go是高性能日志库。创新地使用“边解析边输出”方法进行日志输出,同时支持回调函数、日志淘汰和配置文件。可以解决高并发,调用日志函数频繁的情境下,日志库造成的性能问题。
快速启动:
package maiimport ( log "github.com/YougPioeers/blog4go" "fmt" "os")// optioally set user defied hook for loggigtype MyHook struct { somethig strig}// whe log-level exceed level, call the hook// level is the level associate with that loggig actio.// message is the formatted strig already writte.fuc (self *MyHook) Fire(level log.Level, message strig) { fmt.Pritl(message)}fuc mai() { // iit a file write usig xml cofig file err := log.NewFileWriterFromCofigAsFile("cofig.xml") if il != err { fmt.Pritl(err.Error()) os.Exit(1) } defer log.Close() // iitialize your hook istace hook := ew(MyHook) log.SetHook(hook) // writersFromCofig ca be replaced with writers log.SetHookLevel(log.INFO) log.SetHookAsyc(true) // hook will be called i asyc mode // optioally set output colored log.SetColored(true) log.Debugf("Good morig, %s", "eddie") log.War("It's time to have breakfast")}cofig.xml
<blog4go milevel="ifo"> <filter levels="trace"> <rotatefile path="trace.log" type="time"></rotatefile> </filter> <filter levels="debug,ifo" colored="true"> <file path="debug.log"></file> </filter> <filter levels="error,critical"> <rotatefile path="error.log" type="size" rotateSize="50000000" rotateLies="8000000"></rotatefile> </filter></blog4go>
评论