From 1da80f4dd53b2722c95d84c6dc9338b48028d583 Mon Sep 17 00:00:00 2001 From: marton Date: Tue, 25 Feb 2025 14:01:29 +0100 Subject: [PATCH 1/2] make log init a bit nicer Signed-off-by: marton --- rexec/server/config.go | 27 +++++++++++---------------- 1 file changed, 11 insertions(+), 16 deletions(-) diff --git a/rexec/server/config.go b/rexec/server/config.go index c978a07..74780f5 100644 --- a/rexec/server/config.go +++ b/rexec/server/config.go @@ -26,31 +26,26 @@ var ByPassedUsers []string var MaxStokesPerLine int func Init() { - var sysLogLevel zerolog.Level - sysLogLevel = zerolog.FatalLevel - if SysDebugLog { - sysLogLevel = zerolog.DebugLevel - } - - var auditLogLevel zerolog.Level - auditLogLevel = zerolog.InfoLevel + auditLevel := zerolog.InfoLevel if AuditFullTraceLog { - auditLogLevel = zerolog.TraceLevel + auditLevel = zerolog.TraceLevel } + sysLevel := zerolog.PanicLevel + if SysDebugLog { + sysLevel = zerolog.DebugLevel + } + auditLogger = zerolog.New(os.Stdout).With().Timestamp().Str("facility", "audit").Logger().Level(auditLevel) + SysLogger = zerolog.New(os.Stdout).With().Timestamp().Str("facility", "sys").Logger().Level(sysLevel) - logger := zerolog.New(os.Stdout).With().Timestamp().Logger() - - SysLogger = logger.With().Str("facility", "sys").Logger().Level(sysLogLevel) - auditLogger = logger.With().Str("facility", "audit").Logger().Level(auditLogLevel) rawCaCert, err := os.ReadFile("/var/run/secrets/kubernetes.io/serviceaccount/ca.crt") if err != nil { - logger.Fatal().Err(err) + SysLogger.Fatal().Err(err) } CAPool = x509.NewCertPool() CAPool.AppendCertsFromPEM(rawCaCert) rawToken, err := os.ReadFile("/var/run/secrets/kubernetes.io/serviceaccount/token") if err != nil { - logger.Fatal().Err(err) + SysLogger.Fatal().Err(err) } token = string(rawToken) proxyMap = make(map[string]bool) @@ -64,7 +59,7 @@ func Init() { if SecretSauce != "" { _, err = uuid.Parse(SecretSauce) if err != nil { - logger.Fatal().Err(err) + SysLogger.Fatal().Err(err) } } if MaxStokesPerLine == 0 { From 213063488636a83377fc1886703efcb9ce6820ad Mon Sep 17 00:00:00 2001 From: marton Date: Tue, 25 Feb 2025 14:02:01 +0100 Subject: [PATCH 2/2] fix async logger for info level logging Signed-off-by: marton --- rexec/server/tcp.go | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/rexec/server/tcp.go b/rexec/server/tcp.go index d212c9a..b9fb0b5 100644 --- a/rexec/server/tcp.go +++ b/rexec/server/tcp.go @@ -117,15 +117,15 @@ func (t *TCPLogger) Write(b []byte) (n int, err error) { if frame.Opcode == 0x2 { if auditLogger.GetLevel() == zerolog.TraceLevel { stroke, err := hex.DecodeString(fmt.Sprintf("%x", frame.Payload)) - SysLogger.Error().Err(err).Msg("failed to parse payload") - - auditLogger.Trace().Str("user", userMap[t.ctxid]).Str("session", t.ctxid).Str("stroke", strings.ReplaceAll(string(stroke), "\u0000", "")).Msg("") - asyncAuditChan <- asyncAudit{ - ctxid: t.ctxid, - ascii: frame.Payload, + if err != nil { + SysLogger.Error().Err(err).Msg("failed to parse payload") } + auditLogger.Trace().Str("user", userMap[t.ctxid]).Str("session", t.ctxid).Str("stroke", strings.ReplaceAll(string(stroke), "\u0000", "")).Msg("") + } + asyncAuditChan <- asyncAudit{ + ctxid: t.ctxid, + ascii: frame.Payload, } - } } }