[#493] node/config: Implement logger section

Create `logger` sub-package of `config` package. Implement `LoggerSection`
type of logger sub-section. Add `Level` method to read logger level config
value. Default level is `info`.

Signed-off-by: Leonard Lyubich <leonard@nspcc.ru>
remotes/KirillovDenis/release/v0.21.1
Leonard Lyubich 2021-05-21 16:26:38 +03:00 committed by Leonard Lyubich
parent cbe3e0a271
commit c645781b98
1 changed files with 33 additions and 0 deletions

View File

@ -0,0 +1,33 @@
package loggerconfig
import (
"github.com/nspcc-dev/neofs-node/cmd/neofs-node/config"
)
// LoggerSection represents config section
// for logging component.
type LoggerSection config.Config
// config defaults
const (
// LevelDefault is a default logger level
LevelDefault = "info"
)
// Init initializes LoggerSection from
// "logger" subsection of config.
func Init(root *config.Config) *LoggerSection {
return (*LoggerSection)(root.Sub("logger"))
}
// Level returns configuration value with name "level".
//
// Returns LevelDefault if value is not a non-empty string.
func (x *LoggerSection) Level() string {
v := config.StringSafe((*config.Config)(x), "level")
if v != "" {
return v
}
return LevelDefault
}