Improve openvpn logging

- Show Initialization Sequence completed in green
- Show all other openvpn logs in the openvpn color
This commit is contained in:
Quentin McGaw
2020-07-16 01:20:47 +00:00
parent 51af8d1ab0
commit 76b730e2a6
2 changed files with 15 additions and 5 deletions

View File

@@ -5,6 +5,7 @@ import (
"regexp"
"strings"
"github.com/fatih/color"
"github.com/qdm12/golibs/logging"
"github.com/qdm12/private-internet-access-docker/internal/constants"
)
@@ -38,18 +39,23 @@ func PostProcessLine(s string) (filtered string, level logging.Level) {
case strings.HasPrefix(s, "openvpn: NOTE: "):
filtered = strings.TrimPrefix(s, "openvpn: NOTE: ")
filtered = "openvpn: " + filtered
return filtered, logging.InfoLevel
level = logging.InfoLevel
case strings.HasPrefix(s, "openvpn: WARNING: "):
filtered = strings.TrimPrefix(s, "openvpn: WARNING: ")
filtered = "openvpn: " + filtered
return filtered, logging.WarnLevel
level = logging.WarnLevel
case strings.HasPrefix(s, "openvpn: Options error: "):
filtered = strings.TrimPrefix(s, "openvpn: Options error: ")
filtered = "openvpn: " + filtered
return filtered, logging.ErrorLevel
level = logging.ErrorLevel
case s == "openvpn: Initialization Sequence Completed":
return color.HiGreenString(s), logging.InfoLevel
default:
filtered = s
level = logging.InfoLevel
}
filtered = constants.ColorOpenvpn().Sprintf(s)
return filtered, logging.InfoLevel
filtered = constants.ColorOpenvpn().Sprintf(filtered)
return filtered, level
case strings.HasPrefix(s, "unbound: "):
prefix := regularExpressions.unboundPrefix.FindString(s)
filtered = s[len(prefix):]

View File

@@ -100,6 +100,10 @@ func Test_PostProcessLine(t *testing.T) {
"openvpn: NOTE: UID/GID downgrade will be delayed because of --client, --pull, or --up-delay",
"",
""},
"openvpn success": {
"openvpn: Initialization Sequence Completed",
"openvpn: Initialization Sequence Completed",
logging.InfoLevel},
}
for name, tc := range tests {
tc := tc