<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之旅 廣告
                > zap是uber開源的Go高性能日志庫 [TOC] ## 安裝 ~~~ go get -u go.uber.org/zap ~~~ ## 封裝函數 (/utils/zap_logger/logger.go) ~~~ package zap_logger import ( "fmt" "go.uber.org/zap" "go.uber.org/zap/zapcore" "os" ) var Logger *zap.Logger var SugarLogger *zap.SugaredLogger func init() { fmt.Println("------------init logger----------") var err error var rootPath string // 構造EncoderConfig encoderConfig := zapcore.EncoderConfig{ TimeKey: "timestamp", LevelKey: "severity", NameKey: "logger", CallerKey: "caller", MessageKey: "message", StacktraceKey: "stacktrace", LineEnding: "\n", EncodeLevel: zapcore.LowercaseLevelEncoder, EncodeTime: zapcore.ISO8601TimeEncoder, EncodeDuration: zapcore.SecondsDurationEncoder, EncodeCaller: zapcore.FullCallerEncoder, } if rootPath, err = os.Getwd(); err != nil { panic(err) } // 構造 Config config := zap.Config{ Level: zap.NewAtomicLevelAt(zapcore.DebugLevel), Development: true, Encoding: "json", EncoderConfig: encoderConfig, InitialFields: map[string]interface{}{"MyName": "kainhuck"}, OutputPaths: []string{rootPath + "/runtime/zap2.log"}, ErrorOutputPaths: []string{rootPath + "/runtime/zap2.log"}, } // 可以構造Logger了 Logger, err = config.Build() if err != nil { panic(err) } // 然后是SugarLogger SugarLogger = Logger.Sugar() fmt.Println("------------init logger----end------") } func Error(args ...interface{}) { SugarLogger.Error(args) } func Debug(args ...interface{}) { SugarLogger.Debug(args) } func Info(args ...interface{}) { SugarLogger.Info(args) } func Warn(args ...interface{}) { SugarLogger.Warn(args) } ~~~ ## 測試調用函數 ~~~ //zap_logger.Debug("this is debug info") zap_logger.Error("this is debug info") ~~~
                  <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>

                              哎呀哎呀视频在线观看