build+config: move maxlogfiles and maxfilesize to logger config
Add deprecation notices but continue to read both.
This commit is contained in:
4 files changed
+58
-18
No files matched your search
+13
-2
@@ -12,6 +12,13 @@ const (
|
||||
callSiteLong = "long"
|
||||
|
||||
defaultLogCompressor = Gzip
|
||||
|
||||
// DefaultMaxLogFiles is the default maximum number of log files to
|
||||
// keep.
|
||||
DefaultMaxLogFiles = 3
|
||||
|
||||
// DefaultMaxLogFileSize is the default maximum log file size in MB.
|
||||
DefaultMaxLogFileSize = 10
|
||||
)
|
||||
|
||||
// LogConfig holds logging configuration options.
|
||||
@@ -46,7 +53,9 @@ func DefaultLogConfig() *LogConfig {
|
||||
return &LogConfig{
|
||||
Console: defaultConsoleLoggerCfg(),
|
||||
File: &FileLoggerConfig{
|
||||
Compressor: defaultLogCompressor,
|
||||
Compressor: defaultLogCompressor,
|
||||
MaxLogFiles: DefaultMaxLogFiles,
|
||||
MaxLogFileSize: DefaultMaxLogFileSize,
|
||||
LoggerConfig: LoggerConfig{
|
||||
CallSite: callSiteOff,
|
||||
},
|
||||
@@ -84,5 +93,7 @@ func (cfg *LoggerConfig) HandlerOptions() []btclog.HandlerOption {
|
||||
//nolint:lll
|
||||
type FileLoggerConfig struct {
|
||||
LoggerConfig
|
||||
Compressor string `long:"compressor" description:"Compression algorithm to use when rotating logs." choice:"gzip" choice:"zstd"`
|
||||
Compressor string `long:"compressor" description:"Compression algorithm to use when rotating logs." choice:"gzip" choice:"zstd"`
|
||||
MaxLogFiles int `long:"max-files" description:"Maximum logfiles to keep (0 for no rotation)"`
|
||||
MaxLogFileSize int `long:"max-file-size" description:"Maximum logfile size in MB"`
|
||||
}
|
||||
+7
-7
@@ -31,8 +31,8 @@ func NewRotatingLogWriter() *RotatingLogWriter {
|
||||
// InitLogRotator initializes the log file rotator to write logs to logFile and
|
||||
// create roll files in the same directory. It should be called as early on
|
||||
// startup and possible and must be closed on shutdown by calling `Close`.
|
||||
func (r *RotatingLogWriter) InitLogRotator(logFile, logCompressor string,
|
||||
maxLogFileSize int, maxLogFiles int) error {
|
||||
func (r *RotatingLogWriter) InitLogRotator(cfg *FileLoggerConfig,
|
||||
logFile string) error {
|
||||
|
||||
logDir, _ := filepath.Split(logFile)
|
||||
err := os.MkdirAll(logDir, 0700)
|
||||
@@ -41,19 +41,19 @@ func (r *RotatingLogWriter) InitLogRotator(logFile, logCompressor string,
|
||||
}
|
||||
|
||||
r.rotator, err = rotator.New(
|
||||
logFile, int64(maxLogFileSize*1024), false, maxLogFiles,
|
||||
logFile, int64(cfg.MaxLogFileSize*1024), false, cfg.MaxLogFiles,
|
||||
)
|
||||
if err != nil {
|
||||
return fmt.Errorf("failed to create file rotator: %w", err)
|
||||
}
|
||||
|
||||
// Reject unknown compressors.
|
||||
if !SupportedLogCompressor(logCompressor) {
|
||||
return fmt.Errorf("unknown log compressor: %v", logCompressor)
|
||||
if !SupportedLogCompressor(cfg.Compressor) {
|
||||
return fmt.Errorf("unknown log compressor: %v", cfg.Compressor)
|
||||
}
|
||||
|
||||
var c rotator.Compressor
|
||||
switch logCompressor {
|
||||
switch cfg.Compressor {
|
||||
case Gzip:
|
||||
c = gzip.NewWriter(nil)
|
||||
|
||||
@@ -66,7 +66,7 @@ func (r *RotatingLogWriter) InitLogRotator(logFile, logCompressor string,
|
||||
}
|
||||
|
||||
// Apply the compressor and its file suffix to the log rotator.
|
||||
r.rotator.SetCompressor(c, logCompressors[logCompressor])
|
||||
r.rotator.SetCompressor(c, logCompressors[cfg.Compressor])
|
||||
|
||||
// Run rotator as a goroutine now but make sure we catch any errors
|
||||
// that happen in case something with the rotation goes wrong during
|
||||
|
||||
Reference in new issue
Block a user