Exit inside non-main function RVV-A0003
Anti-pattern
Major
8 months ago3 years old
calls to log.Fatal only in main() or init() functions
 90// Commonly used with a `defer`.
 91func LogPanic() {
 92	if e := recover(); e != nil {
 93		log.Fatal("panic", zap.Reflect("recover", e)) 94	}
 95}
 96
calls to log.Fatal only in main() or init() functions
 421	defer tick.Stop()
 422	totalMem, err := memory.MemTotal()
 423	if err != nil {
 424		log.Fatal("fail to get total memory:%s", zap.Error(err)) 425	}
 426	log.Info("memory info", zap.Uint64("total-mem", totalMem))
 427	cfg := c.opt.GetPDServerConfig()
calls to log.Fatal only in main() or init() functions
 65func NewService[T ConfigProvider](svr bs.Server) registry.RegistrableService {
 66	server, ok := svr.(*Server)
 67	if !ok {
 68		log.Fatal("create tso server failed") 69	}
 70	return &Service{
 71		Server: server,
calls to log.Fatal only in main() or init() functions
621	}()
622
623	if err := svr.Run(); err != nil {
624		log.Fatal("run server failed", errs.ZapError(err))625	}
626
627	<-ctx.Done()
calls to log.Fatal only in main() or init() functions
593	if err == nil {
594		log.ReplaceGlobals(cfg.Logger, cfg.LogProps)
595	} else {
596		log.Fatal("initialize logger error", errs.ZapError(err))597	}
598	// Flushing any buffered log entries
599	log.Sync()