mirror of
https://github.com/lightningnetwork/lnd.git
synced 2025-02-23 22:46:40 +01:00
So that the logging config "Disable" options and log type flags are all handled in one place. Other repo's can then re-use this nicely.
38 lines
966 B
Go
38 lines
966 B
Go
package build
|
|
|
|
import (
|
|
"os"
|
|
|
|
"github.com/btcsuite/btclog/v2"
|
|
)
|
|
|
|
// NewDefaultLogHandlers returns the standard console logger and rotating log
|
|
// writer handlers that we generally want to use. It also applies the various
|
|
// config options to the loggers.
|
|
func NewDefaultLogHandlers(cfg *LogConfig,
|
|
rotator *RotatingLogWriter) []btclog.Handler {
|
|
|
|
var handlers []btclog.Handler
|
|
|
|
consoleLogHandler := btclog.NewDefaultHandler(
|
|
os.Stdout, cfg.Console.HandlerOptions()...,
|
|
)
|
|
logFileHandler := btclog.NewDefaultHandler(
|
|
rotator, cfg.File.HandlerOptions()...,
|
|
)
|
|
|
|
maybeAddLogger := func(cmdOptionDisable bool, handler btclog.Handler) {
|
|
if !cmdOptionDisable {
|
|
handlers = append(handlers, handler)
|
|
}
|
|
}
|
|
switch LoggingType {
|
|
case LogTypeStdOut:
|
|
maybeAddLogger(cfg.Console.Disable, consoleLogHandler)
|
|
case LogTypeDefault:
|
|
maybeAddLogger(cfg.Console.Disable, consoleLogHandler)
|
|
maybeAddLogger(cfg.File.Disable, logFileHandler)
|
|
}
|
|
|
|
return handlers
|
|
}
|