mirror of
https://github.com/crowdsecurity/crowdsec.git
synced 2025-05-10 20:05:55 +02:00
* make it possible to enable json log * fix * fix typo * fix typo * fix typo * fix typo * fix typo * fix typo * Add error handling * Add log_format to default config * Fix syntax error in if statement * Fix typo * Fix typo * Fix some typos and change naming from native to text, makes more sense * Set same timestamp format for json logging * Fix formatting * Move in if statement under previous * Fix some formatting that got messed up * Default to text formatter, if log_format is not configured. * defining logFormatter outside if statement so that log.SetFormatter(logFormatter) is not undefined when function is called * Add variables that were undefined * Argument were missing when calling SetDefaultLoggerConfig function * Fix order of arguments passed * Fix order of arguments passed * Fix typo * Implicit log_format = "text" * functional test * ignore log_format in FatalHook * make it possible to enable json log * fix * fix typo * fix typo * fix typo * fix typo * fix typo * fix typo * Add error handling * Add log_format to default config * Fix syntax error in if statement * Fix typo * Fix typo * Fix some typos and change naming from native to text, makes more sense * Set same timestamp format for json logging * Fix formatting * Move in if statement under previous * Fix some formatting that got messed up * Default to text formatter, if log_format is not configured. * defining logFormatter outside if statement so that log.SetFormatter(logFormatter) is not undefined when function is called * Add variables that were undefined * Argument were missing when calling SetDefaultLoggerConfig function * Fix order of arguments passed * Fix order of arguments passed * Fix typo * Implicit log_format = "text" * functional test * ignore log_format in FatalHook * lint * fix func test * lint * remove < > characters from log --------- Co-authored-by: Victor Edvardsson <victor.edvardsson@loopia.se> Co-authored-by: marco <marco@crowdsec.net> Co-authored-by: Thibault "bui" Koechlin <thibault@crowdsec.net>
53 lines
1.3 KiB
Go
53 lines
1.3 KiB
Go
package csconfig
|
|
|
|
import (
|
|
"fmt"
|
|
"path/filepath"
|
|
|
|
log "github.com/sirupsen/logrus"
|
|
)
|
|
|
|
/*daemonization/service related stuff*/
|
|
type CommonCfg struct {
|
|
Daemonize bool
|
|
PidDir string `yaml:"pid_dir,omitempty"` // TODO: This is just for backward compat. Remove this later
|
|
LogMedia string `yaml:"log_media"`
|
|
LogDir string `yaml:"log_dir,omitempty"` // if LogMedia = file
|
|
LogLevel *log.Level `yaml:"log_level"`
|
|
WorkingDir string `yaml:"working_dir,omitempty"` // TODO: This is just for backward compat. Remove this later
|
|
CompressLogs *bool `yaml:"compress_logs,omitempty"`
|
|
LogMaxSize int `yaml:"log_max_size,omitempty"`
|
|
LogFormat string `yaml:"log_format,omitempty"`
|
|
LogMaxAge int `yaml:"log_max_age,omitempty"`
|
|
LogMaxFiles int `yaml:"log_max_files,omitempty"`
|
|
ForceColorLogs bool `yaml:"force_color_logs,omitempty"`
|
|
}
|
|
|
|
func (c *Config) loadCommon() error {
|
|
var err error
|
|
|
|
if c.Common == nil {
|
|
c.Common = &CommonCfg{}
|
|
}
|
|
|
|
if c.Common.LogMedia == "" {
|
|
c.Common.LogMedia = "stdout"
|
|
}
|
|
|
|
CommonCleanup := []*string{
|
|
&c.Common.LogDir,
|
|
}
|
|
|
|
for _, k := range CommonCleanup {
|
|
if *k == "" {
|
|
continue
|
|
}
|
|
|
|
*k, err = filepath.Abs(*k)
|
|
if err != nil {
|
|
return fmt.Errorf("failed to get absolute path of '%s': %w", *k, err)
|
|
}
|
|
}
|
|
|
|
return nil
|
|
}
|