Logging filtering for openvpn process
This commit is contained in:
@@ -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: "):
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
Reference in New Issue
Block a user