123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263 |
- 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"`
- }
- 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
- }
- return config
- }
|