logger/config.go

26 lines
838 B
Go

package logger
import "fmt"
type mode string
const (
Dev mode = "development"
Prod mode = "production"
)
// LogConfig 日志配置
type LogConfig struct {
Mode mode `env:"LOG_MODE" envDefault:"production"` // dev, prod
LokiEnable bool `env:"LOG_LOKI_ENABLE"` // 是否启用Loki
FileEnable bool `env:"LOG_FILE_ENABLE"` // 是否输出到文件
LokiHost string `env:"LOG_LOKI_HOST"` // Loki地址
LokiPort int `env:"LOG_LOKI_PORT"` // Loki端口
LokiSource string `env:"LOG_LOKI_SOURCE_NAME"` // Loki的source名称
LokiJob string `env:"LOG_LOKI_JOB_NAME"` // Loki的job名称
}
func (c LogConfig) getLokiPushURL() string {
return fmt.Sprintf("http://%v:%v/loki/api/v1/push", c.LokiHost, c.LokiPort)
}