<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ThinkChat2.0新版上線,更智能更精彩,支持會話、畫圖、視頻、閱讀、搜索等,送10W Token,即刻開啟你的AI之旅 廣告
                [TOC] > [github.com](https://github.com/sirupsen/logrus) ## 概述 Logrus是一個可插拔的、結構化的日志框架 * 完全兼容 golan標準庫日志模塊 * 六種級別: trace,debug、info、warn、error、fatal, panic * 支持自定義擴展hook和自定義輸出格式 ## 實例 <details> <summary>main.go</summary> ``` package main import ( "github.com/lestrrat/go-file-rotatelogs" "github.com/rifflock/lfshook" "github.com/sirupsen/logrus" "github.com/tietang/go-utils" "github.com/x-cray/logrus-prefixed-formatter" "os" "path" "path/filepath" "strings" "time" ) var log_level = "debug" // trace debug info warn error fatal panic var log_path = "logs" var log_test_path = "" func main() { iniLog() //測試 logrus.Info("dasdsadsa") } func iniLog(){ setLogLevel(log_level) setConsoleFormater() setFileFormater(log_path,log_test_path) } func setLogLevel(level string) { //日志級別 parseLevel, e := logrus.ParseLevel(level) if e != nil { panic(e) } logrus.SetLevel(parseLevel) logrus.SetReportCaller(true) } func setConsoleFormater() { //formatter :=&logrus.TextFormatter{}// logrus 自帶的文本格式 formatter := &prefixed.TextFormatter{} //引用第三方的文本格式 formatter.FullTimestamp = true formatter.TimestampFormat = "2006-01-02.15:04:05.000000" formatter.ForceFormatting = true formatter.SetColorScheme(&prefixed.ColorScheme{ InfoLevelStyle: "green", WarnLevelStyle: "yellow", ErrorLevelStyle: "red", FatalLevelStyle: "41", PanicLevelStyle: "41", DebugLevelStyle: "blue", PrefixStyle: "cyan", TimestampStyle: "37", }) logrus.SetFormatter(formatter) } //初始化log配置,配置logrus日志文件滾動生成和 func setFileFormater(logDir ,logTestDir string) { //設置日志文件輸出的是否帶文件和函數 showfileLength() //配置日志輸出目錄 if logTestDir != ""{ logDir = logTestDir } logFilePath, _ := filepath.Abs(logDir) logrus.Infof("logrus abs path: %s", logFilePath) logFileName := "log" maxAge := time.Hour*24 rotationTime := time.Hour*1 _=os.MkdirAll(logDir, os.ModePerm) baseLogPath := path.Join(logDir, logFileName) //設置滾動日志輸出writer writer, err := rotatelogs.New( strings.TrimSuffix(baseLogPath, ".log")+".%Y%m%d%H", rotatelogs.WithLinkName(baseLogPath), // 生成軟鏈,指向最新日志文件 rotatelogs.WithMaxAge(maxAge), // 文件最大保存時間 rotatelogs.WithRotationTime(rotationTime), // 日志切割時間間隔 ) if err != nil { logrus.Errorf("config local file system logger error. %+v", err) } //設置日志文件輸出的日志格式 //formatter := &logrus.JSONFormatter{} formatter :=&prefixed.TextFormatter{} //引用第三方的文本格式 //控制臺高亮顯示 formatter.DisableColors=true formatter.FullTimestamp=true formatter.TimestampFormat="2006-01-02.15:04:05.000000" formatter.ForceFormatting=true lfHook := lfshook.NewHook(lfshook.WriterMap{ logrus.DebugLevel: writer, // 為不同級別設置不同的輸出目的 logrus.InfoLevel: writer, logrus.WarnLevel: writer, logrus.ErrorLevel: writer, logrus.FatalLevel: writer, logrus.PanicLevel: writer, }, formatter) logrus.AddHook(lfHook) } func showfileLength() { lfh := utils.NewLineNumLogrusHook() lfh.EnableFileNameLog = true level, e := logrus.ParseLevel(log_level) if e != nil { panic(e) } if level == logrus.DebugLevel { lfh.EnableFuncNameLog = true }else{ lfh.EnableFuncNameLog = false } logrus.AddHook(lfh) } ``` </details> <br /> 輸出的格式 ``` //debug [2019-12-05.22:31:22.830555] INFO main.main(tmp/main.go:25): dasdsadsa //info [2019-12-05.22:34:05.844089] INFO tmp/main.go(25): dasdsadsa ```
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看