feat(config): add temporary logging for failed reloads

- Add tmpLogBuf and tmpLog fields to capture config loading logs
  - Flush temporary logs only when reload succeeds
  - Extract NewLogger function for creating custom loggers
  - Update State interface to include FlushTmpLog method
This commit is contained in:
yusing
2025-10-10 22:20:12 +08:00
parent 357ce38b18
commit 38c0419483
4 changed files with 34 additions and 9 deletions

View File

@@ -48,7 +48,7 @@ func fmtMessage(msg string) string {
return strutils.JoinRune(lines, '\n')
}
func InitLogger(out ...io.Writer) {
func NewLogger(out ...io.Writer) zerolog.Logger {
writer := zerolog.ConsoleWriter{
Out: zerolog.MultiLevelWriter(out...),
TimeFormat: timeFmt,
@@ -56,10 +56,14 @@ func InitLogger(out ...io.Writer) {
return fmtMessage(msgI.(string))
},
}
logger = zerolog.New(
return zerolog.New(
writer,
).Level(level).With().Timestamp().Logger()
log.SetOutput(writer)
}
func InitLogger(out ...io.Writer) {
logger = NewLogger(out...)
log.SetOutput(logger)
log.SetPrefix("")
log.SetFlags(0)
zerolog.TimeFieldFormat = timeFmt