-
Notifications
You must be signed in to change notification settings - Fork 2
/
conf.go
40 lines (37 loc) · 3.37 KB
/
conf.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
package logger
import (
"github.com/keepchen/go-sail/pkg/lib/nats"
"github.com/keepchen/go-sail/pkg/lib/redis"
)
// Conf 日志配置
type Conf struct {
Env string `yaml:"env" toml:"env" json:"env" default:"prod"` //日志环境,prod:生产环境,dev:开发环境
Level string `yaml:"level" toml:"level" json:"level" default:"info"` //日志级别,debug,info,warn,error
Filename string `yaml:"filename" toml:"filename" json:"filename" default:"logs/running.log"` //日志文件名称
MaxSize int `yaml:"max_size" toml:"max_size" json:"max_size" default:"100"` //日志大小限制,单位MB
MaxBackups int `yaml:"max_backups" toml:"max_backups" json:"max_backups" default:"10"` //最大历史文件保留数量
Compress bool `yaml:"compress" toml:"compress" json:"compress" default:"true"` //是否压缩历史日志文件
EnableELKWithRedisList bool `yaml:"enable_elk_with_redis_list" toml:"enable_elk_with_redis_list" json:"enable_elk_with_redis_list" default:"false"` //是否启用基于redis list的elk日志写入
RedisListKey string `yaml:"redis_list_key" toml:"redis_list_key" json:"redis_list_key"` //redis list的elk日志写入的key
}
// ConfV2 日志配置v2
type ConfV2 struct {
Env string `yaml:"env" toml:"env" json:"env" default:"prod"` //日志环境,prod:生产环境,dev:开发环境
Level string `yaml:"level" toml:"level" json:"level" default:"info"` //日志级别,debug,info,warn,error
Filename string `yaml:"filename" toml:"filename" json:"filename" default:"logs/running.log"` //日志文件名称
MaxSize int `yaml:"max_size" toml:"max_size" json:"max_size" default:"100"` //日志大小限制,单位MB
MaxBackups int `yaml:"max_backups" toml:"max_backups" json:"max_backups" default:"10"` //最大历史文件保留数量
Compress bool `yaml:"compress" toml:"compress" json:"compress" default:"true"` //是否压缩历史日志文件
Exporter struct {
Provider string `yaml:"provider" toml:"provider" json:"provider" default:""` //导出器,目前支持redis、redis-cluster和nats
Redis struct {
ConnConf redis.Conf `yaml:"conn_conf" toml:"conn_conf" json:"conn_conf"` //redis连接配置(单机)
ConnClusterConf redis.ClusterConf `yaml:"cluster_conn_conf" toml:"cluster_conn_conf" json:"cluster_conn_conf"` //redis连接配置(集群)
ListKey string `yaml:"list_key" toml:"list_key" json:"list_key"` //redis list的elk日志写入的key
} `json:"redis"`
Nats struct {
ConnConf nats.Conf `yaml:"conn_conf" toml:"conn_conf" json:"conn_conf"` //nats连接配置
Subject string `yaml:"subject" toml:"subject" json:"subject"` //nats的发布主题
} `yaml:"nats"`
} `yaml:"exporter" toml:"exporter" json:"exporter"` //导出器
}