# flogging **Repository Path**: robinsonxie/flogging ## Basic Information - **Project Name**: flogging - **Description**: hyperledger fabric项目的log模块,底层使用uber的zap - **Primary Language**: Unknown - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2021-11-11 - **Last Updated**: 2021-11-12 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README ### example ```go package main import ( "gitee.com/robinsonxie/flogging" ) var logger = flogging.MustGetLoggerWithoutName() func main() { flogging.SetGlobalLogLevel("debug") logger.Debug("debug") logger.Info("info") logger.Warning("warning") logger.Error("error") } ``` ### detail ```go package main import ( "gitee.com/robinsonxie/flogging" ) func main() { //默认值: //defaultFormat = "%{color}%{time:2006-01-02 15:04:05.000 MST} [%{module}] %{shortfunc} -> %{level:.4s} %{id:03x}%{color:reset} %{message}" //defaultLevel = zapcore.InfoLevel //os.Stderr //优先查看环境变量: LOGGING_SPEC ,为空使用 defaultLevel.String() //日志设置全局日志实例,可以指定输出格式和输出级别以及输出io flogging.Init(flogging.Config{ Format: "", LogSpec: "", Writer: nil, }) flogging.New(flogging.Config{}) flogging.SetWriter(nil) flogging.ActivateSpec("err") //重置Config为默认值 flogging.Reset() //文本输出 //f, err := os.Create("out.log") //if err != nil { // t.Fatal(err) //} //defer f.Close() //flogging.SetWriter(f) //设置输出格式 flogging.SetFormat("logfmt") //flogging.SetFormat("json") //flogging.SetFormat("%{color}%{time:2006-01-02 15:04:05.000 MST} [%{module}] %{shortfunc} -> %{level:.4s} %{id:03x}%{color:reset} %{message}") //获取默认level flogging.DefaultLevel() //如果未初始化使用返回默认的全局日志实例,否则返回初始化实例 logger := flogging.MustGetLogger("main.ee") ) flogging.ActivateSpec("main=error") //main之下全部级别为error logger.Debug("debug") logger.Info("info") logger.Warning("warning") logger.Error("error") //[[,...]=][:[[,...]=]...] //指定日志级别可以通过指定logger ,指定某个logger的日志级别 “main=error:test=debug”,"error" flogging.ActivateSpec("main.ee=debug") //main.ee级别为debug logger.Debug("debug") logger.Info("info") logger.Warning("warning") logger.Error("error") l2 := flogging.MustGetLogger("main.aa") //main.aa使用默认级别为info l2.Debug("debug") l2.Info("info") l2.Warning("warning") l2.Error("error") logger.Debug("debug") logger.Info("info") logger.Warning("warning") logger.Error("error") //日志级别配置表达式 //[ ([,...]) =] [: [[,...]=] ...] } ```