Files
loggerx/options.go
T

81 lines
1.4 KiB
Go
Raw Normal View History

2024-01-22 18:05:51 +08:00
package loggerx
type loggerOption struct {
2024-01-23 00:12:08 +08:00
prefix string // 日志前缀
format string // text json
dir string // 文件目录
isGinLog bool
isGid bool
traceField string // trace字段
errorToInfo bool //
2024-01-22 18:05:51 +08:00
}
func defaultOptions() loggerOption {
return loggerOption{
2024-01-23 00:12:08 +08:00
format: "json",
dir: "./log",
traceField: "trace_id",
2024-01-22 18:05:51 +08:00
}
}
type Option func(*loggerOption)
2024-01-23 00:12:08 +08:00
// trace字段
func SetTraceField(traceField string) Option {
return func(o *loggerOption) {
o.traceField = traceField
}
}
// 错误日志是否写入info日志
func SetErrorToInfo() Option {
return func(o *loggerOption) {
o.errorToInfo = true
}
}
2024-01-22 18:05:51 +08:00
// 日志的前缀
func SetPrefix(prefix string) Option {
return func(o *loggerOption) {
o.prefix = prefix
}
}
// 日志格式(默认json)
func SetFormat(format string) Option {
return func(o *loggerOption) {
o.format = format
}
}
// 是否保存gin的日志
func SetGinLog() Option {
return func(o *loggerOption) {
o.isGinLog = true
}
}
2024-01-23 00:12:08 +08:00
// 文件路径
func SetDir(dir string) Option {
2024-01-22 18:05:51 +08:00
return func(o *loggerOption) {
2024-01-23 00:12:08 +08:00
o.dir = dir
2024-01-22 18:05:51 +08:00
}
}
// 保存goroutine的ID信息
func SetGID() Option {
return func(o *loggerOption) {
o.isGid = true
}
}
// 文件切割规则
2024-01-23 00:12:08 +08:00
// 1.文件大小
// 2.时间A(年/月/日/时)
// 3.时间B(年/月-日)
// 4.时间C(年-月-日-时)
// 5.时间D(年-月-日)
2024-01-22 18:05:51 +08:00
// func SetFileSplit()
2024-01-23 00:12:08 +08:00
//