diff --git a/README.md b/README.md index 4f0d8ac..011f6b0 100644 --- a/README.md +++ b/README.md @@ -15,7 +15,7 @@ docker run \ --name reqlog \ --restart always \ -d \ - -p 3000:3000 \ + -p 8080:8080 \ -v $(pwd)/requests.log:/requests.log \ git.roeber.dev/jon/reqlog:v0.0.1 ``` @@ -25,7 +25,7 @@ docker run \ ```bash curl \ -X POST \ - http://localhost:3000/ \ + http://localhost:8080/ \ -H "Content-Type: application/json" \ -d '{"temp": 98.6}' ``` diff --git a/main.go b/main.go index 1ff52cd..d41f6c9 100644 --- a/main.go +++ b/main.go @@ -30,8 +30,11 @@ func post(w http.ResponseWriter, r *http.Request) { w.Write([]byte(err.Error())) return } + + dump := logString(r.RemoteAddr, reqDump) + // log to stdout - fmt.Print(logString(reqDump)) + fmt.Print(dump) // log to logfile lf, err := os.OpenFile(*logFile, os.O_CREATE | os.O_APPEND | os.O_WRONLY, 0644) @@ -41,16 +44,16 @@ func post(w http.ResponseWriter, r *http.Request) { w.Write([]byte(fmt.Sprintf("failed to open log file: %v", err))) } defer lf.Close() - lf.WriteString(logString(reqDump)) + lf.WriteString(dump) // echo log message as response w.WriteHeader(200) - w.Write([]byte(logString(reqDump))) + w.Write([]byte(dump)) } -func logString(reqDump []byte) string { +func logString(senderIP string, reqDump []byte) string { var sb strings.Builder - sb.WriteString(fmt.Sprintf("Received request at %v:\n\n", time.Now())) + sb.WriteString(fmt.Sprintf("Received request from %v at %v:\n\n", senderIP, time.Now())) sb.Write(reqDump) sb.WriteString("\n\n") return sb.String()