Remove timestamps from program logs
- Using suppress-timestamps for openvpn - Using custom regexp for tinyproxy, shadowsocks and unbound - Time is now only shown once per line - Log level of subprogram is preserverd
This commit is contained in:
@@ -6,6 +6,7 @@ import (
|
|||||||
"net"
|
"net"
|
||||||
"os"
|
"os"
|
||||||
"os/signal"
|
"os/signal"
|
||||||
|
"regexp"
|
||||||
"strings"
|
"strings"
|
||||||
"syscall"
|
"syscall"
|
||||||
"time"
|
"time"
|
||||||
@@ -320,6 +321,7 @@ func collectStreamLines(ctx context.Context, streamMerger command.StreamMerger,
|
|||||||
// Blocking line merging paramsReader for all programs: openvpn, tinyproxy, unbound and shadowsocks
|
// Blocking line merging paramsReader for all programs: openvpn, tinyproxy, unbound and shadowsocks
|
||||||
logger.Info("Launching standard output merger")
|
logger.Info("Launching standard output merger")
|
||||||
streamMerger.CollectLines(ctx, func(line string) {
|
streamMerger.CollectLines(ctx, func(line string) {
|
||||||
|
line = trimEventualProgramPrefix(line)
|
||||||
logger.Info(line)
|
logger.Info(line)
|
||||||
if strings.Contains(line, "Initialization Sequence Completed") {
|
if strings.Contains(line, "Initialization Sequence Completed") {
|
||||||
signalConnected()
|
signalConnected()
|
||||||
@@ -329,6 +331,27 @@ func collectStreamLines(ctx context.Context, streamMerger command.StreamMerger,
|
|||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func trimEventualProgramPrefix(s string) string {
|
||||||
|
switch {
|
||||||
|
case strings.HasPrefix(s, "unbound: "):
|
||||||
|
prefixRegex := regexp.MustCompile(`unbound: \[[0-9]{10}\] unbound\[[0-9]+:0\] `)
|
||||||
|
prefix := prefixRegex.FindString(s)
|
||||||
|
return fmt.Sprintf("unbound: %s", s[len(prefix):])
|
||||||
|
case strings.HasPrefix(s, "shadowsocks: "):
|
||||||
|
prefixRegex := regexp.MustCompile(`shadowsocks:[ ]+2[0-9]{3}\-[0-1][0-9]\-[0-3][0-9] [0-2][0-9]:[0-5][0-9]:[0-5][0-9] `)
|
||||||
|
prefix := prefixRegex.FindString(s)
|
||||||
|
return fmt.Sprintf("shadowsocks: %s", s[len(prefix):])
|
||||||
|
case strings.HasPrefix(s, "tinyproxy: "):
|
||||||
|
logLevelRegex := regexp.MustCompile(`INFO|CONNECT|NOTICE|WARNING|ERROR|CRITICAL`)
|
||||||
|
logLevel := logLevelRegex.FindString(s)
|
||||||
|
prefixRegex := regexp.MustCompile(`tinyproxy: (INFO|CONNECT|NOTICE|WARNING|ERROR|CRITICAL)[ ]+(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-3][0-9] [0-2][0-9]:[0-5][0-9]:[0-5][0-9] \[[0-9]+\]: `)
|
||||||
|
prefix := prefixRegex.FindString(s)
|
||||||
|
return fmt.Sprintf("tinyproxy: %s %s", logLevel, s[len(prefix):])
|
||||||
|
default:
|
||||||
|
return s
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
func openvpnRunLoop(ctx context.Context, ovpnConf openvpn.Configurator, streamMerger command.StreamMerger,
|
func openvpnRunLoop(ctx context.Context, ovpnConf openvpn.Configurator, streamMerger command.StreamMerger,
|
||||||
logger logging.Logger, httpServer server.Server, waiter command.Waiter, fatalOnError func(err error)) {
|
logger logging.Logger, httpServer server.Server, waiter command.Waiter, fatalOnError func(err error)) {
|
||||||
logger = logger.WithPrefix("openvpn: ")
|
logger = logger.WithPrefix("openvpn: ")
|
||||||
|
|||||||
@@ -65,6 +65,7 @@ func (c *configurator) BuildConf(connections []models.OpenVPNConnection, verbosi
|
|||||||
"pull-filter ignore \"auth-token\"", // prevent auth failed loops
|
"pull-filter ignore \"auth-token\"", // prevent auth failed loops
|
||||||
"auth-retry nointeract",
|
"auth-retry nointeract",
|
||||||
"remote-random",
|
"remote-random",
|
||||||
|
"suppress-timestamps",
|
||||||
|
|
||||||
// Modified variables
|
// Modified variables
|
||||||
fmt.Sprintf("verb %d", verbosity),
|
fmt.Sprintf("verb %d", verbosity),
|
||||||
|
|||||||
@@ -99,6 +99,7 @@ func (c *configurator) BuildConf(connections []models.OpenVPNConnection, encrypt
|
|||||||
"pull-filter ignore \"auth-token\"", // prevent auth failed loops
|
"pull-filter ignore \"auth-token\"", // prevent auth failed loops
|
||||||
"auth-retry nointeract",
|
"auth-retry nointeract",
|
||||||
"remote-random",
|
"remote-random",
|
||||||
|
"suppress-timestamps",
|
||||||
|
|
||||||
// Modified variables
|
// Modified variables
|
||||||
fmt.Sprintf("verb %d", verbosity),
|
fmt.Sprintf("verb %d", verbosity),
|
||||||
|
|||||||
@@ -76,6 +76,7 @@ func (c *configurator) BuildConf(connections []models.OpenVPNConnection, verbosi
|
|||||||
"pull-filter ignore \"auth-token\"", // prevent auth failed loops
|
"pull-filter ignore \"auth-token\"", // prevent auth failed loops
|
||||||
"auth-retry nointeract",
|
"auth-retry nointeract",
|
||||||
"remote-random",
|
"remote-random",
|
||||||
|
"suppress-timestamps",
|
||||||
|
|
||||||
// Modified variables
|
// Modified variables
|
||||||
fmt.Sprintf("verb %d", verbosity),
|
fmt.Sprintf("verb %d", verbosity),
|
||||||
|
|||||||
Reference in New Issue
Block a user