<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          BLog4go Go高效日志庫(kù)

          聯(lián)合創(chuàng)作 · 2023-09-30 00:13

          BLog4go 是高性能日志庫(kù)。創(chuàng)新地使用“邊解析邊輸出”方法進(jìn)行日志輸出,同時(shí)支持回調(diào)函數(shù)、日志淘汰和配置文件。可以解決高并發(fā),調(diào)用日志函數(shù)頻繁的情境下,日志庫(kù)造成的性能問(wèn)題。

          快速啟動(dòng):

          package main
          
          import (
              log "github.com/YoungPioneers/blog4go"
              "fmt"
              "os"
          )
          
          // 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("config.xml")
              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("Good morning, %s", "eddie")
              log.Warn("It's time to have breakfast")
          
          }

          config.xml

          <blog4go minlevel="info">
              <filter levels="trace">
                  <rotatefile path="trace.log" type="time"></rotatefile>
              </filter>
              <filter levels="debug,info" colored="true">
                  <file path="debug.log"></file>
              </filter>
              <filter levels="error,critical">
                  <rotatefile path="error.log" type="size" rotateSize="50000000" rotateLines="8000000"></rotatefile>
              </filter>
          </blog4go>
          瀏覽 19
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          編輯 分享
          舉報(bào)
          評(píng)論
          圖片
          表情
          推薦
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          編輯 分享
          舉報(bào)
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  人人妻人人澡人人爽久久av | 囯产精品无码成人久久久 | 亚洲无码高清视频在线 | 狼人永久地址在线观看高清无码 | 欧美成人综合一区 |