| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960 |
- package log
- import (
- "strings"
- "github.com/v2fly/v2ray-core/v4/app/log"
- clog "github.com/v2fly/v2ray-core/v4/common/log"
- )
- func DefaultLogConfig() *log.Config {
- return &log.Config{
- Access: &log.LogSpecification{Type: log.LogType_None},
- Error: &log.LogSpecification{Type: log.LogType_Console, Level: clog.Severity_Warning},
- }
- }
- type LogConfig struct {
- AccessLog string `json:"access"`
- ErrorLog string `json:"error"`
- LogLevel string `json:"loglevel"`
- }
- func (v *LogConfig) Build() *log.Config {
- if v == nil {
- return nil
- }
- config := &log.Config{
- Access: &log.LogSpecification{Type: log.LogType_Console},
- Error: &log.LogSpecification{Type: log.LogType_Console},
- }
- if v.AccessLog == "none" {
- config.Access.Type = log.LogType_None
- } else if len(v.AccessLog) > 0 {
- config.Access.Path = v.AccessLog
- config.Access.Type = log.LogType_File
- }
- if v.ErrorLog == "none" {
- config.Error.Type = log.LogType_None
- } else if len(v.ErrorLog) > 0 {
- config.Error.Path = v.ErrorLog
- config.Error.Type = log.LogType_File
- }
- level := strings.ToLower(v.LogLevel)
- switch level {
- case "debug":
- config.Error.Level = clog.Severity_Debug
- case "info":
- config.Error.Level = clog.Severity_Info
- case "error":
- config.Error.Level = clog.Severity_Error
- case "none":
- config.Error.Type = log.LogType_None
- config.Error.Type = log.LogType_None
- default:
- config.Error.Level = clog.Severity_Warning
- }
- return config
- }
|