BLog4go Go 高效日志库 BLog4go Go

polaris • 2332 次点击    
这是一个分享于 的项目,其中的信息可能已经有所发展或是发生改变。
BLog4go 是高性能日志库。创新地使用“边解析边输出”方法进行日志输出,同时支持回调函数、日志淘汰和配置文件。可以解决高并发,调用日志函数频繁的情境下,日志库造成的性能问题。 ** 快速启动: ** <pre class="brush:cpp ;toolbar: true; auto-links: false;">package main import (     log &#34;github.com/YoungPioneers/blog4go&#34;     &#34;fmt&#34;     &#34;os&#34; ) // optionally set user defined hook for logging type MyHook struct {     something string } // when log-level exceed level, call the hook // level is the level associate with that logging action. // message is the formatted string already written. func (self *MyHook) Fire(level log.Level, message string) {     fmt.Println(message) } func main() {     // init a file write using xml config file     err := log.NewFileWriterFromConfigAsFile(&#34;config.xml&#34;)     if nil != err {         fmt.Println(err.Error())         os.Exit(1)     }     defer log.Close()     // initialize your hook instance     hook := new(MyHook)     log.SetHook(hook) // writersFromConfig can be replaced with writers     log.SetHookLevel(log.INFO)     log.SetHookAsync(true) // hook will be called in async mode     // optionally set output colored     log.SetColored(true)     log.Debugf(&#34;Good morning, %s&#34;, &#34;eddie&#34;)     log.Warn(&#34;It&#39;s time to have breakfast&#34;) }</pre> config.xml <pre class="brush:xml;toolbar: true; auto-links: false;">&lt;blog4go minlevel=&#34;info&#34;&gt;     &lt;filter levels=&#34;trace&#34;&gt;         &lt;rotatefile path=&#34;trace.log&#34; type=&#34;time&#34;&gt;&lt;/rotatefile&gt;     &lt;/filter&gt;     &lt;filter levels=&#34;debug,info&#34; colored=&#34;true&#34;&gt;         &lt;file path=&#34;debug.log&#34;&gt;&lt;/file&gt;     &lt;/filter&gt;     &lt;filter levels=&#34;error,critical&#34;&gt;         &lt;rotatefile path=&#34;error.log&#34; type=&#34;size&#34; rotateSize=&#34;50000000&#34; rotateLines=&#34;8000000&#34;&gt;&lt;/rotatefile&gt;     &lt;/filter&gt; &lt;/blog4go&gt;</pre>
授权协议:
MIT
开发语言:
Google Go 查看源码»
操作系统:
跨平台
2332 次点击  
加入收藏 微博
暂无回复
添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传