Logging filtering for openvpn process

This commit is contained in:
Quentin McGaw
2020-07-15 12:07:09 +00:00
parent 1281026850
commit ad5de13c25
2 changed files with 42 additions and 0 deletions

View File

@@ -26,6 +26,28 @@ var regularExpressions = struct { //nolint:gochecknoglobals
func PostProcessLine(s string) (filtered string, level logging.Level) { func PostProcessLine(s string) (filtered string, level logging.Level) {
switch { switch {
case strings.HasPrefix(s, "openvpn: "): case strings.HasPrefix(s, "openvpn: "):
for _, ignored := range []string{
"openvpn: WARNING: you are using user/group/chroot/setcon without persist-tun -- this may cause restarts to fail",
"openvpn: NOTE: UID/GID downgrade will be delayed because of --client, --pull, or --up-delay",
} {
if s == ignored {
return "", ""
}
}
switch {
case strings.HasPrefix(s, "openvpn: NOTE: "):
filtered = strings.TrimPrefix(s, "openvpn: NOTE: ")
filtered = "openvpn: " + filtered
return filtered, logging.InfoLevel
case strings.HasPrefix(s, "openvpn: WARNING: "):
filtered = strings.TrimPrefix(s, "openvpn: WARNING: ")
filtered = "openvpn: " + filtered
return filtered, logging.WarnLevel
case strings.HasPrefix(s, "openvpn: Options error: "):
filtered = strings.TrimPrefix(s, "openvpn: Options error: ")
filtered = "openvpn: " + filtered
return filtered, logging.ErrorLevel
}
filtered = constants.ColorOpenvpn().Sprintf(s) filtered = constants.ColorOpenvpn().Sprintf(s)
return filtered, logging.InfoLevel return filtered, logging.InfoLevel
case strings.HasPrefix(s, "unbound: "): case strings.HasPrefix(s, "unbound: "):

View File

@@ -80,6 +80,26 @@ func Test_PostProcessLine(t *testing.T) {
"tinyproxy: BLABLA Jul 12 23:07:25 [32]: Reloading config file", "tinyproxy: BLABLA Jul 12 23:07:25 [32]: Reloading config file",
"tinyproxy: Reloading config file", "tinyproxy: Reloading config file",
logging.ErrorLevel}, logging.ErrorLevel},
"openvpn unknown": {
"openvpn: message",
"openvpn: message",
logging.InfoLevel},
"openvpn note": {
"openvpn: NOTE: message",
"openvpn: message",
logging.InfoLevel},
"openvpn warning": {
"openvpn: WARNING: message",
"openvpn: message",
logging.WarnLevel},
"openvpn options error": {
"openvpn: Options error: message",
"openvpn: message",
logging.ErrorLevel},
"openvpn ignored message": {
"openvpn: NOTE: UID/GID downgrade will be delayed because of --client, --pull, or --up-delay",
"",
""},
} }
for name, tc := range tests { for name, tc := range tests {
tc := tc tc := tc