Pārlūkot izejas kodu

enhance(main): ignore net.ErrClosed

Jacky 6 mēneši atpakaļ
vecāks
revīzija
d9433cb00f
2 mainītis faili ar 11 papildinājumiem un 3 dzēšanām
  1. 1 1
      .air.toml
  2. 10 2
      main.go

+ 1 - 1
.air.toml

@@ -33,7 +33,7 @@ delay = 1000 # ms
 # Stop running old binary when build errors occur.
 stop_on_error = true
 # Send Interrupt signal before killing process (windows does not support this feature)
-send_interrupt = false
+send_interrupt = true
 # Delay after sending Interrupt signal
 kill_delay = 500 # ms
 

+ 10 - 2
main.go

@@ -115,8 +115,16 @@ func main() {
 		Run:       Program(confPath),
 		Debug:     cSettings.ServerSettings.RunMode == gin.DebugMode,
 		Addresses: []string{fmt.Sprintf("%s:%d", cSettings.ServerSettings.Host, cSettings.ServerSettings.Port)},
+		ErrorHandler: func(kind string, err error) {
+			if errors.Is(err, net.ErrClosed) {
+				return
+			}
+			logger.Error(kind, err)
+		},
 	})
-	if !errors.Is(err, context.DeadlineExceeded) {
-		logger.Fatal(err)
+	if !errors.Is(err, context.DeadlineExceeded) &&
+		!errors.Is(err, context.Canceled) &&
+		!errors.Is(err, net.ErrClosed) {
+		logger.Error(err)
 	}
 }