Add protocol, make sure syslog actually logs

This commit is contained in:
Sambhav Saggi 2021-08-02 07:28:28 -04:00
parent 3f27aceeaf
commit 902ae28bf6
No known key found for this signature in database
GPG key ID: 8F731DA8AFBAE35D

View file

@ -132,7 +132,7 @@ func SetupHookLogging(hooks []config.LogrusHook, componentName string) {
setupFileHook(hook, level, componentName) setupFileHook(hook, level, componentName)
case "syslog": case "syslog":
checkSyslogHookParams(hook.Params) checkSyslogHookParams(hook.Params)
setupSyslogHook(hook, level, componentName) setupSyslogHook(hook)
default: default:
logrus.Fatalf("Unrecognised logging hook type: %s", hook.Type) logrus.Fatalf("Unrecognised logging hook type: %s", hook.Type)
} }
@ -187,10 +187,20 @@ func checkSyslogHookParams(params map[string]interface{}) {
if _, ok := addr.(string); !ok { if _, ok := addr.(string); !ok {
logrus.Fatalf("Parameter \"address\" for logging hook of type \"syslog\" should be a string") logrus.Fatalf("Parameter \"address\" for logging hook of type \"syslog\" should be a string")
} }
proto, ok := params["protocol"]
if !ok {
logrus.Fatalf("Expecting a parameter \"protocol\" for logging hook of type \"syslog\"")
}
if _, ok := proto.(string); !ok {
logrus.Fatalf("Parameter \"protocol\" for logging hook of type \"syslog\" should be a string")
}
} }
func setupSyslogHook(hook config.LogrusHook, level logrus.Level, componentName string) { func setupSyslogHook(hook config.LogrusHook) {
syslogHook, err := lSyslog.NewSyslogHook("udp", hook.Params["address"].(string), syslog.LOG_INFO, "") syslogHook, err := lSyslog.NewSyslogHook(hook.Params["protocol"].(string), hook.Params["address"].(string), syslog.LOG_INFO, "")
if err == nil { if err == nil {
logrus.AddHook(syslogHook) logrus.AddHook(syslogHook)
} }