forked from imgproxy/imgproxy
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathsyslog.go
55 lines (42 loc) · 1014 Bytes
/
syslog.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
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")
tag := "imgproxy"
strEnvConfig(&tag, "IMGPROXY_SYSLOG_TAG")
syslogWriter, err = syslog.Dial(network, addr, syslog.LOG_NOTICE, tag)
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)
}
}