From 0fefc0f6c69663615025074ac2184508802d4b9d Mon Sep 17 00:00:00 2001 From: Marin Ivanov Date: Wed, 16 Apr 2025 19:18:02 +0300 Subject: better logging --- Dockerfile | 2 +- handle.go | 14 ++++++-------- main.go | 2 +- setuid_unix.go | 1 + setuid_windows.go | 1 + 5 files changed, 10 insertions(+), 10 deletions(-) diff --git a/Dockerfile b/Dockerfile index 4052183..0c084b4 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,4 +1,4 @@ -FROM golang:1.12-alpine as builder +FROM golang:1.12-alpine AS builder WORKDIR /app COPY . /app RUN apk add --no-cache git make \ diff --git a/handle.go b/handle.go index c153b7d..92301be 100644 --- a/handle.go +++ b/handle.go @@ -2,6 +2,7 @@ package main import ( "fmt" + "log" "net" "time" ) @@ -20,15 +21,12 @@ func protocolHandler(proto string) (protoHandler, uint16, error) { } } -func logConn(conn net.Conn, msg string) { - now := time.Now().UTC() - fmt.Printf("%s, %s, %s\n", now.String(), conn.RemoteAddr().String(), msg) -} - -func connHandler(handler protoHandler, conn net.Conn, delay time.Duration) { +func connHandler(proto string, handler protoHandler, conn net.Conn, delay time.Duration) { defer conn.Close() - logConn(conn, "handling") + start := time.Now() + log.Printf("%s handling %s", conn.RemoteAddr().String(), proto) handler(conn, delay) - logConn(conn, "closing") + duration := time.Since(start) + log.Printf("%s ended %s lasted for %s", conn.RemoteAddr().String(), proto, duration) } diff --git a/main.go b/main.go index 8aa9e96..067e0dc 100644 --- a/main.go +++ b/main.go @@ -67,7 +67,7 @@ func main() { if err != nil { continue } - go connHandler(handler, conn, delay) + go connHandler(protocol, handler, conn, delay) } } diff --git a/setuid_unix.go b/setuid_unix.go index 8782a48..5db6746 100644 --- a/setuid_unix.go +++ b/setuid_unix.go @@ -1,3 +1,4 @@ +//go:build linux || darwin // +build linux darwin package main diff --git a/setuid_windows.go b/setuid_windows.go index 277ed12..e818eb8 100644 --- a/setuid_windows.go +++ b/setuid_windows.go @@ -1,3 +1,4 @@ +//go:build windows // +build windows package main -- cgit v1.2.3