| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465 |
- package conf
- import (
- "strings"
- "github.com/xtls/xray-core/app/log"
- clog "github.com/xtls/xray-core/common/log"
- )
- func DefaultLogConfig() *log.Config {
- return &log.Config{
- AccessLogType: log.LogType_None,
- ErrorLogType: log.LogType_Console,
- ErrorLogLevel: clog.Severity_Warning,
- }
- }
- type LogConfig struct {
- AccessLog string `json:"access"`
- ErrorLog string `json:"error"`
- LogLevel string `json:"loglevel"`
- DNSLog bool `json:"dnsLog"`
- MaskAddress string `json:"maskAddress"`
- }
- func (v *LogConfig) Build() *log.Config {
- if v == nil {
- return nil
- }
- config := &log.Config{
- ErrorLogType: log.LogType_Console,
- AccessLogType: log.LogType_Console,
- EnableDnsLog: v.DNSLog,
- }
- if v.AccessLog == "none" {
- config.AccessLogType = log.LogType_None
- } else if len(v.AccessLog) > 0 {
- config.AccessLogPath = v.AccessLog
- config.AccessLogType = log.LogType_File
- }
- if v.ErrorLog == "none" {
- config.ErrorLogType = log.LogType_None
- } else if len(v.ErrorLog) > 0 {
- config.ErrorLogPath = v.ErrorLog
- config.ErrorLogType = log.LogType_File
- }
- level := strings.ToLower(v.LogLevel)
- switch level {
- case "debug":
- config.ErrorLogLevel = clog.Severity_Debug
- case "info":
- config.ErrorLogLevel = clog.Severity_Info
- case "error":
- config.ErrorLogLevel = clog.Severity_Error
- case "none":
- config.ErrorLogType = log.LogType_None
- config.AccessLogType = log.LogType_None
- default:
- config.ErrorLogLevel = clog.Severity_Warning
- }
- config.MaskAddress = v.MaskAddress
- return config
- }
|