support disable boot log

This commit is contained in:
MaysWind
2023-08-13 18:28:08 +08:00
parent 749eaaab30
commit 902825404e
3 changed files with 45 additions and 14 deletions
+23 -1
View File
@@ -17,29 +17,40 @@ import (
func initializeSystem(c *cli.Context) (*settings.Config, error) { func initializeSystem(c *cli.Context) (*settings.Config, error) {
var err error var err error
configFilePath := c.String("conf-path") configFilePath := c.String("conf-path")
isDisableBootLog := c.Bool("no-boot-log")
if configFilePath != "" { if configFilePath != "" {
if _, err = os.Stat(configFilePath); err != nil { if _, err = os.Stat(configFilePath); err != nil {
if !isDisableBootLog {
log.BootErrorf("[initializer.initializeSystem] cannot load configuration from custom config path %s, because file not exists", configFilePath) log.BootErrorf("[initializer.initializeSystem] cannot load configuration from custom config path %s, because file not exists", configFilePath)
}
return nil, err return nil, err
} }
if !isDisableBootLog {
log.BootInfof("[initializer.initializeSystem] will loading configuration from custom config path %s", configFilePath) log.BootInfof("[initializer.initializeSystem] will loading configuration from custom config path %s", configFilePath)
}
} else { } else {
configFilePath, err = settings.GetDefaultConfigFilePath() configFilePath, err = settings.GetDefaultConfigFilePath()
if err != nil { if err != nil {
if !isDisableBootLog {
log.BootErrorf("[initializer.initializeSystem] cannot get default configuration path, because %s", err.Error()) log.BootErrorf("[initializer.initializeSystem] cannot get default configuration path, because %s", err.Error())
}
return nil, err return nil, err
} }
if !isDisableBootLog {
log.BootInfof("[initializer.initializeSystem] will load configuration from default config path %s", configFilePath) log.BootInfof("[initializer.initializeSystem] will load configuration from default config path %s", configFilePath)
} }
}
config, err := settings.LoadConfiguration(configFilePath) config, err := settings.LoadConfiguration(configFilePath)
if err != nil { if err != nil {
if !isDisableBootLog {
log.BootErrorf("[initializer.initializeSystem] cannot load configuration, because %s", err.Error()) log.BootErrorf("[initializer.initializeSystem] cannot load configuration, because %s", err.Error())
}
return nil, err return nil, err
} }
@@ -48,33 +59,44 @@ func initializeSystem(c *cli.Context) (*settings.Config, error) {
err = datastore.InitializeDataStore(config) err = datastore.InitializeDataStore(config)
if err != nil { if err != nil {
if !isDisableBootLog {
log.BootErrorf("[initializer.initializeSystem] initializes data store failed, because %s", err.Error()) log.BootErrorf("[initializer.initializeSystem] initializes data store failed, because %s", err.Error())
}
return nil, err return nil, err
} }
err = log.SetLoggerConfiguration(config) err = log.SetLoggerConfiguration(config, isDisableBootLog)
if err != nil { if err != nil {
if !isDisableBootLog {
log.BootErrorf("[initializer.initializeSystem] sets logger configuration failed, because %s", err.Error()) log.BootErrorf("[initializer.initializeSystem] sets logger configuration failed, because %s", err.Error())
}
return nil, err return nil, err
} }
err = uuid.InitializeUuidGenerator(config) err = uuid.InitializeUuidGenerator(config)
if err != nil { if err != nil {
if !isDisableBootLog {
log.BootErrorf("[initializer.initializeSystem] initializes uuid generator failed, because %s", err.Error()) log.BootErrorf("[initializer.initializeSystem] initializes uuid generator failed, because %s", err.Error())
}
return nil, err return nil, err
} }
err = exchangerates.InitializeExchangeRatesDataSource(config) err = exchangerates.InitializeExchangeRatesDataSource(config)
if err != nil { if err != nil {
if !isDisableBootLog {
log.BootErrorf("[initializer.initializeSystem] initializes exchange rates data source failed, because %s", err.Error()) log.BootErrorf("[initializer.initializeSystem] initializes exchange rates data source failed, because %s", err.Error())
}
return nil, err return nil, err
} }
cfgJson, _ := json.Marshal(getConfigWithoutSensitiveData(config)) cfgJson, _ := json.Marshal(getConfigWithoutSensitiveData(config))
if !isDisableBootLog {
log.BootInfof("[initializer.initializeSystem] has loaded configuration %s", cfgJson) log.BootInfof("[initializer.initializeSystem] has loaded configuration %s", cfgJson)
}
return config, nil return config, nil
} }
+4
View File
@@ -44,6 +44,10 @@ func main() {
Name: "conf-path", Name: "conf-path",
Usage: "Custom config `FILE` path", Usage: "Custom config `FILE` path",
}, },
&cli.BoolFlag{
Name: "no-boot-log",
Usage: "Disable boot log",
},
}, },
} }
+6 -1
View File
@@ -39,11 +39,13 @@ func init() {
} }
// SetLoggerConfiguration sets the logger according to the config // 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 bootWriters []io.Writer
var writers []io.Writer var writers []io.Writer
if !isDisableBootLog {
bootWriters = append(bootWriters, os.Stdout) bootWriters = append(bootWriters, os.Stdout)
}
if config.EnableConsoleLog { if config.EnableConsoleLog {
writers = append(writers, os.Stdout) writers = append(writers, os.Stdout)
@@ -56,7 +58,10 @@ func SetLoggerConfiguration(config *settings.Config) error {
return err return err
} }
if !isDisableBootLog {
bootWriters = append(bootWriters, logFile) bootWriters = append(bootWriters, logFile)
}
writers = append(writers, logFile) writers = append(writers, logFile)
} }