Documentation ¶
Index ¶
Constants ¶
View Source
const ( Stdout = "stdout" // 标准输出 Stderr = "stderr" // 标准错误 )
Variables ¶
This section is empty.
Functions ¶
func SetConfig ¶ added in v0.0.5
func SetConfig(c *LogsConfig)
Types ¶
type Encoder ¶ added in v0.0.5
type Encoder struct { zapcore.EncoderConfig EncodeTime TimeEncoder `json:"timeEncoder" yaml:"timeEncoder"` AsJSON bool `json:"json" yaml:"json"` // 整条日志使用 JSON 格式输出 // contains filtered or unexported fields }
Encoder 包装 zapcore 的 EncoderConfig
func (*Encoder) AsMap ¶ added in v0.0.5
AsMap 转为 map 用于序列化为 yaml/json. zap 配置本身只支持反序列化,不支持序列化,所以需要先转 map
func (Encoder) MarshalJSON ¶ added in v0.0.5
func (Encoder) MarshalYAML ¶ added in v0.0.5
func (*Encoder) UnmarshalYAML ¶ added in v0.0.5
UnmarshalYAML 先反序列化到 map,然后通过 json 反序列化 因为 yaml 不支持反序列化嵌入结构(需要 `yaml:"",inline"` 不能有同名字段)
type LogsConfig ¶ added in v0.0.5
type LogsConfig struct { Level *logs.LoggerLevel `json:"level" yaml:"level"` // 各 Logger 的日志级别,配合 logs 库使用 Zap []*ZapConfig `json:"zap" yaml:"zap"` // zap 的输出配置 }
LogsConfig 日志配置
type Output ¶
type Output struct { Type OutputType `json:"type" yaml:"type"` // 控制台或文件 File lumberjack.Logger `json:"file" yaml:"file"` // 如果是控制台,则只需要填写 Filename(stdout/stderr),如果是文件,则根据需要填写字段 // contains filtered or unexported fields }
Output 日志输出配置
func (*Output) WriteSyncer ¶ added in v0.0.5
func (o *Output) WriteSyncer() zapcore.WriteSyncer
WriteSyncer 转为 zap 的 WriteSyncer
type OutputType ¶
type OutputType string
OutputType 日志输出类型
const ( Console OutputType = "console" // 控制台 File OutputType = "file" // 文件 )
type TimeEncoder ¶ added in v0.0.5
TimeEncoder zapcore 的 TimeEncoder 可能有两种格式 1. ISO8601 这种指定的预置格式 { "timeEncoder": "ISO8601" } 2. 用户使用 layout 字段指定时间格式 { "timeEncoder: { "layout": "2006-01-02 15:04:05.000"} }
func (*TimeEncoder) ToZapTimeEncoder ¶ added in v0.0.5
func (e *TimeEncoder) ToZapTimeEncoder() zapcore.TimeEncoder
func (*TimeEncoder) UnmarshalJSON ¶ added in v0.0.5
func (e *TimeEncoder) UnmarshalJSON(data []byte) error
func (*TimeEncoder) UnmarshalText ¶ added in v0.0.5
func (e *TimeEncoder) UnmarshalText(text []byte) error
func (*TimeEncoder) UnmarshalYAML ¶ added in v0.0.5
func (e *TimeEncoder) UnmarshalYAML(unmarshal func(interface{}) error) error
UnmarshalYAML 反序列化 yaml,先尝试 layout 模式,再尝试预置格式
type ZapAdaptor ¶ added in v0.0.5
ZapAdaptor is an adaptor for github.com/youthlin/logs
func (*ZapAdaptor) Log ¶ added in v0.0.5
func (s *ZapAdaptor) Log(msg logs.Message)
Log log message to zap
type ZapConfig ¶ added in v0.0.5
type ZapConfig struct { Name string `json:"name" yaml:"name"` // 配置名称 Enable bool `json:"enable" yaml:"enable"` // 是否启用 Level zapcore.Level `json:"level" yaml:"level"` // 大于等于该级别的日志才会输出 Encoder *Encoder `json:"encoder" yaml:"encoder"` // 输出的各个字段格式 Output *Output `json:"output" yaml:"output"` // 日志输出去向 }
ZapConfig 日志输出配置
Click to show internal directories.
Click to hide internal directories.