diff options
| author | Jeff Halter <868228+jhalter@users.noreply.github.com> | 2022-07-03 15:09:20 -0700 |
|---|---|---|
| committer | Jeff Halter <868228+jhalter@users.noreply.github.com> | 2022-07-03 15:09:20 -0700 |
| commit | a9bdccb79164a787b4f1a2c1579a95cf751aef40 (patch) | |
| tree | e4744b45717a25c62f385c58bfb791ee1f81c815 /hotline | |
| parent | 958108952eec4cef92bcd26cd0c845aaed5a4982 (diff) | |
Move panic handler
Diffstat (limited to 'hotline')
| -rw-r--r-- | hotline/panic.go | 15 | ||||
| -rw-r--r-- | hotline/server.go | 9 |
2 files changed, 15 insertions, 9 deletions
diff --git a/hotline/panic.go b/hotline/panic.go new file mode 100644 index 0000000..e7c97db --- /dev/null +++ b/hotline/panic.go @@ -0,0 +1,15 @@ +package hotline + +import ( + "fmt" + "go.uber.org/zap" + "runtime/debug" +) + +// dontPanic logs panics instead of crashing +func dontPanic(logger *zap.SugaredLogger) { + if r := recover(); r != nil { + fmt.Println("stacktrace from panic: \n" + string(debug.Stack())) + logger.Errorw("PANIC", "err", r, "trace", string(debug.Stack())) + } +} diff --git a/hotline/server.go b/hotline/server.go index 1fafb30..ccf992e 100644 --- a/hotline/server.go +++ b/hotline/server.go @@ -18,7 +18,6 @@ import ( "net" "os" "path/filepath" - "runtime/debug" "strings" "sync" "time" @@ -542,14 +541,6 @@ func (s *Server) loadConfig(path string) error { return nil } -// dontPanic logs panics instead of crashing -func dontPanic(logger *zap.SugaredLogger) { - if r := recover(); r != nil { - fmt.Println("stacktrace from panic: \n" + string(debug.Stack())) - logger.Errorw("PANIC", "err", r, "trace", string(debug.Stack())) - } -} - // handleNewConnection takes a new net.Conn and performs the initial login sequence func (s *Server) handleNewConnection(ctx context.Context, rwc io.ReadWriteCloser, remoteAddr string) error { defer dontPanic(s.Logger) |