26 lines
838 B
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)
|
||
|
}
|