aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMartin Polden <mpolden@mpolden.no>2020-12-09 21:08:06 +0100
committerMartin Polden <mpolden@mpolden.no>2020-12-09 21:10:10 +0100
commita4808f1fa4470a384320382b72a9f280475a032e (patch)
tree336eaa51d43822fea74892c3ab8bdff92fa23bf0
parent0d3594284e44ab3506be5322a2289af06cf8453c (diff)
http: Log server errors
-rw-r--r--cmd/echoip/main.go6
-rw-r--r--http/http.go4
2 files changed, 9 insertions, 1 deletions
diff --git a/cmd/echoip/main.go b/cmd/echoip/main.go
index 9d1364d..ecd1e7a 100644
--- a/cmd/echoip/main.go
+++ b/cmd/echoip/main.go
@@ -29,6 +29,11 @@ func (f *multiValueFlag) Set(v string) error {
return nil
}
+func init() {
+ log.SetPrefix("echoip: ")
+ log.SetFlags(log.Lshortfile)
+}
+
func main() {
countryFile := flag.String("f", "", "Path to GeoIP country database")
cityFile := flag.String("c", "", "Path to GeoIP city database")
@@ -47,7 +52,6 @@ func main() {
return
}
- log := log.New(os.Stderr, "echoip: ", 0)
r, err := geo.Open(*countryFile, *cityFile, *asnFile)
if err != nil {
log.Fatal(err)
diff --git a/http/http.go b/http/http.go
index 9545dc1..246d3bf 100644
--- a/http/http.go
+++ b/http/http.go
@@ -5,6 +5,7 @@ import (
"fmt"
"html/template"
"io/ioutil"
+ "log"
"path/filepath"
"strings"
@@ -383,6 +384,9 @@ func wrapHandlerFunc(f http.HandlerFunc) appHandler {
func (fn appHandler) ServeHTTP(w http.ResponseWriter, r *http.Request) {
if e := fn(w, r); e != nil { // e is *appError
// When Content-Type for error is JSON, we need to marshal the response into JSON
+ if e.Code/100 == 5 {
+ log.Println(e.Error)
+ }
if e.IsJSON() {
var data = struct {
Error string `json:"error"`