package
1.0.10
Repository: https://github.com/lidaqi001/micro.git
Documentation: pkg.go.dev

# README

日志组件

  • 基于go-micro原组件 asim/go-micro/plugins/logger/zerolog

  • 基于原logger组件接口编写,兼容原组件

  • 添加配置项

    • 指定日志输出文件名
    配置项: OutputFilePath
    参数不为空,就可以输出到对应文件(OutputFileName如果为空,则输出到os.Stdout)
    示例:logger.NewLogger(logger.OutputFilePath("debug")) 
    // 生成文件为:{OutputRootPath}/debug/20210603/15.log,格式:{OutputRootPath}/路径名/日期/小时.log
    
    • 指定日志根目录
    配置项:OutputRootPath
    默认为当前目录下log目录(不存在会新建)
    示例:logger.NewLogger(logger.OutputRootPath("./log/"))
    
    • 配置项结构体
    type Options struct {
    
        ······
    
        // Output file name
        // If set, output to a file
        OutputFilePath string
        // Output root path
        OutputRootPath string
    }
    
  • 原组件需要设置Option为:Development 时,才会显示debug的消息,不够灵活,重写一下

func (l *zeroLogger) Init(opts ...logger.Option) error {
······
	switch l.opts.Mode {
// 这里判断了环境
	case Development:
······
		//level = logger.DebugLevel
		l.zLog = zerolog.New(consOut).
// 开启了环境才输出debuglevel的日志
			Level(zerolog.DebugLevel).
			With().Timestamp().Stack().Logger()

// 默认是不输出debuglevel日志的
	default: // Production
		zerolog.ErrorStackMarshaler = pkgerrors.MarshalStack
		l.zLog = zerolog.New(l.opts.Out).
			Level(zerolog.InfoLevel).
			With().Timestamp().Stack().Logger()
	}
······
}