diff --git a/cmd/initializer.go b/cmd/initializer.go index 7f330910..d7185083 100644 --- a/cmd/initializer.go +++ b/cmd/initializer.go @@ -17,29 +17,40 @@ import ( func initializeSystem(c *cli.Context) (*settings.Config, error) { var err error configFilePath := c.String("conf-path") + isDisableBootLog := c.Bool("no-boot-log") if configFilePath != "" { if _, err = os.Stat(configFilePath); err != nil { - log.BootErrorf("[initializer.initializeSystem] cannot load configuration from custom config path %s, because file not exists", configFilePath) + if !isDisableBootLog { + log.BootErrorf("[initializer.initializeSystem] cannot load configuration from custom config path %s, because file not exists", configFilePath) + } return nil, err } - log.BootInfof("[initializer.initializeSystem] will loading configuration from custom config path %s", configFilePath) + if !isDisableBootLog { + log.BootInfof("[initializer.initializeSystem] will loading configuration from custom config path %s", configFilePath) + } } else { configFilePath, err = settings.GetDefaultConfigFilePath() if err != nil { - log.BootErrorf("[initializer.initializeSystem] cannot get default configuration path, because %s", err.Error()) + if !isDisableBootLog { + log.BootErrorf("[initializer.initializeSystem] cannot get default configuration path, because %s", err.Error()) + } return nil, err } - log.BootInfof("[initializer.initializeSystem] will load configuration from default config path %s", configFilePath) + if !isDisableBootLog { + log.BootInfof("[initializer.initializeSystem] will load configuration from default config path %s", configFilePath) + } } config, err := settings.LoadConfiguration(configFilePath) if err != nil { - log.BootErrorf("[initializer.initializeSystem] cannot load configuration, because %s", err.Error()) + if !isDisableBootLog { + log.BootErrorf("[initializer.initializeSystem] cannot load configuration, because %s", err.Error()) + } return nil, err } @@ -48,33 +59,44 @@ func initializeSystem(c *cli.Context) (*settings.Config, error) { err = datastore.InitializeDataStore(config) if err != nil { - log.BootErrorf("[initializer.initializeSystem] initializes data store failed, because %s", err.Error()) + if !isDisableBootLog { + log.BootErrorf("[initializer.initializeSystem] initializes data store failed, because %s", err.Error()) + } return nil, err } - err = log.SetLoggerConfiguration(config) + err = log.SetLoggerConfiguration(config, isDisableBootLog) if err != nil { - log.BootErrorf("[initializer.initializeSystem] sets logger configuration failed, because %s", err.Error()) + if !isDisableBootLog { + log.BootErrorf("[initializer.initializeSystem] sets logger configuration failed, because %s", err.Error()) + } return nil, err } err = uuid.InitializeUuidGenerator(config) if err != nil { - log.BootErrorf("[initializer.initializeSystem] initializes uuid generator failed, because %s", err.Error()) + if !isDisableBootLog { + log.BootErrorf("[initializer.initializeSystem] initializes uuid generator failed, because %s", err.Error()) + } return nil, err } err = exchangerates.InitializeExchangeRatesDataSource(config) if err != nil { - log.BootErrorf("[initializer.initializeSystem] initializes exchange rates data source failed, because %s", err.Error()) + if !isDisableBootLog { + log.BootErrorf("[initializer.initializeSystem] initializes exchange rates data source failed, because %s", err.Error()) + } return nil, err } cfgJson, _ := json.Marshal(getConfigWithoutSensitiveData(config)) - log.BootInfof("[initializer.initializeSystem] has loaded configuration %s", cfgJson) + + if !isDisableBootLog { + log.BootInfof("[initializer.initializeSystem] has loaded configuration %s", cfgJson) + } return config, nil } diff --git a/ezbookkeeping.go b/ezbookkeeping.go index fd02f70e..b8c42b2f 100644 --- a/ezbookkeeping.go +++ b/ezbookkeeping.go @@ -44,6 +44,10 @@ func main() { Name: "conf-path", Usage: "Custom config `FILE` path", }, + &cli.BoolFlag{ + Name: "no-boot-log", + Usage: "Disable boot log", + }, }, } diff --git a/pkg/log/logger.go b/pkg/log/logger.go index 61cab4a9..07f9c967 100644 --- a/pkg/log/logger.go +++ b/pkg/log/logger.go @@ -39,11 +39,13 @@ func init() { } // SetLoggerConfiguration sets the logger according to the config -func SetLoggerConfiguration(config *settings.Config) error { +func SetLoggerConfiguration(config *settings.Config, isDisableBootLog bool) error { var bootWriters []io.Writer var writers []io.Writer - bootWriters = append(bootWriters, os.Stdout) + if !isDisableBootLog { + bootWriters = append(bootWriters, os.Stdout) + } if config.EnableConsoleLog { writers = append(writers, os.Stdout) @@ -56,7 +58,10 @@ func SetLoggerConfiguration(config *settings.Config) error { return err } - bootWriters = append(bootWriters, logFile) + if !isDisableBootLog { + bootWriters = append(bootWriters, logFile) + } + writers = append(writers, logFile) }