🔧 refactor: move log output setup to config package and change server logs to Trace level
This commit is contained in:
@@ -200,6 +200,9 @@ func (c *Config) SetupLogging() {
|
||||
// Parse log level
|
||||
level := parseLogLevel(c.GetLogLevel())
|
||||
zerolog.SetGlobalLevel(level)
|
||||
|
||||
// Setup log output
|
||||
c.setupLogOutput()
|
||||
|
||||
zerolog.TimeFieldFormat = zerolog.TimeFormatUnix
|
||||
}
|
||||
@@ -226,3 +229,23 @@ func parseLogLevel(level string) zerolog.Level {
|
||||
return zerolog.TraceLevel
|
||||
}
|
||||
}
|
||||
|
||||
// setupLogOutput configures the log output based on configuration
|
||||
func (c *Config) setupLogOutput() {
|
||||
output := c.GetLogOutput()
|
||||
if output == "" {
|
||||
// Use stderr by default
|
||||
return
|
||||
}
|
||||
|
||||
// Open the log file
|
||||
file, err := os.OpenFile(output, os.O_CREATE|os.O_WRONLY|os.O_APPEND, 0666)
|
||||
if err != nil {
|
||||
log.Error().Err(err).Str("output", output).Msg("Failed to open log file, using stderr")
|
||||
return
|
||||
}
|
||||
|
||||
// Set the log output
|
||||
log.Logger = log.Output(file)
|
||||
log.Trace().Str("output", output).Msg("Logging to file")
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user