log sender IP, use port 8080
This commit is contained in:
parent
41e0a021f6
commit
f241c162e7
@ -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}'
|
||||
```
|
||||
|
13
main.go
13
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()
|
||||
|
Loading…
x
Reference in New Issue
Block a user