+ config: Added in lumberjack to handle rolling logs. Added more config properties around new log feature.

Reset logger max file size config. Fix #1573.

Remove verbose from default config.
This commit is contained in:
DannyHinshaw
2020-06-02 07:20:12 -04:00
committed by Simon Zolin
parent 67dacdf8ae
commit e23b79dda0
4 changed files with 39 additions and 5 deletions

View File

@@ -6,6 +6,7 @@ import (
"crypto/tls"
"crypto/x509"
"fmt"
"gopkg.in/natefinch/lumberjack.v2"
"io"
"io/ioutil"
"net"
@@ -396,13 +397,22 @@ func configureLogger(args options) {
ls := getLogSettings()
// command-line arguments can override config settings
if args.verbose {
if args.verbose || config.Verbose {
ls.Verbose = true
}
if args.logFile != "" {
ls.LogFile = args.logFile
} else if config.LogFile != "" {
ls.LogFile = config.LogFile
}
// Handle default log settings overrides
ls.LogCompress = config.LogCompress
ls.LogLocalTime = config.LogLocalTime
ls.LogMaxBackups = config.LogMaxBackups
ls.LogMaxSize = config.LogMaxSize
ls.LogMaxAge = config.LogMaxAge
// log.SetLevel(log.INFO) - default
if ls.Verbose {
log.SetLevel(log.DEBUG)
@@ -414,6 +424,7 @@ func configureLogger(args options) {
ls.LogFile = configSyslog
}
// logs are written to stdout (default)
if ls.LogFile == "" {
return
}
@@ -430,11 +441,19 @@ func configureLogger(args options) {
logFilePath = ls.LogFile
}
file, err := os.OpenFile(logFilePath, os.O_WRONLY|os.O_CREATE|os.O_APPEND, 0644)
_, err := os.OpenFile(logFilePath, os.O_WRONLY|os.O_CREATE|os.O_APPEND, 0644)
if err != nil {
log.Fatalf("cannot create a log file: %s", err)
}
log.SetOutput(file)
log.SetOutput(&lumberjack.Logger{
Filename: logFilePath,
Compress: ls.LogCompress, // disabled by default
LocalTime: ls.LogLocalTime,
MaxBackups: ls.LogMaxBackups,
MaxSize: ls.LogMaxSize, // megabytes
MaxAge: ls.LogMaxAge, //days
})
}
}