diff --git a/errors.go b/errors.go index b488396..3f4f8d5 100644 --- a/errors.go +++ b/errors.go @@ -2,9 +2,14 @@ package main import ( "fmt" + "reflect" "strings" ) +func errorName(err error) string { + return reflect.ValueOf(err).Type().Name() +} + // UserNameError is a base error for errors that deal with user names type UserNameError struct { Name string diff --git a/handlers.go b/handlers.go index 0575342..1681465 100644 --- a/handlers.go +++ b/handlers.go @@ -119,14 +119,14 @@ func wsHandler(w http.ResponseWriter, r *http.Request) { if err != nil { switch err.(type) { case UserFormatError, UserTakenError: - fmt.Printf("[handler] %v\n", err) + fmt.Printf("[handler|%s] %v\n", errorName(err), err) case BannedUserError: - fmt.Printf("[BAN] %v\n", err) + fmt.Printf("[handler|%s] %v\n", errorName(err), err) // close connection since banned users shouldn't be connecting conn.Close() default: // for now all errors not caught need to be warned - fmt.Printf("[handler] %v\n", err) + fmt.Printf("[handler|uncaught] %v\n", err) conn.Close() } }