12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152 |
- package main
- import (
- "log"
- "log/syslog"
- )
- var (
- syslogWriter *syslog.Writer
- syslogLevel syslog.Priority
- )
- var syslogLevels = map[string]syslog.Priority{
- "crit": syslog.LOG_CRIT,
- "error": syslog.LOG_ERR,
- "warning": syslog.LOG_WARNING,
- "notice": syslog.LOG_NOTICE,
- }
- func initSyslog() {
- var (
- err error
- enabled bool
- network, addr string
- )
- boolEnvConfig(&enabled, "IMGPROXY_SYSLOG_ENABLE")
- if !enabled {
- return
- }
- strEnvConfig(&network, "IMGPROXY_SYSLOG_NETWORK")
- strEnvConfig(&addr, "IMGPROXY_SYSLOG_ADDRESS")
- syslogWriter, err = syslog.Dial(network, addr, syslog.LOG_NOTICE, "imgproxy")
- if err != nil {
- log.Fatalf("Can't connect to syslog: %s", err)
- }
- levelStr := "notice"
- strEnvConfig(&levelStr, "IMGPROXY_SYSLOG_LEVEL")
- if l, ok := syslogLevels[levelStr]; ok {
- syslogLevel = l
- } else {
- syslogLevel = syslog.LOG_NOTICE
- logWarning("Syslog level '%s' is invalid, 'notice' is used", levelStr)
- }
- }
|