perf(logging): optimize multi-line message formatting

- Refactors the fmtMessage function to use strings.Builder
  - Simplifies multi-writer creation with a helper function
  - Updates the new console writer initialization pattern
  - Moves InitLogger function to the top
  - Fixed NewLoggerWithFixedLevel
This commit is contained in:
yusing
2025-10-15 21:18:25 +08:00
parent f5a006ce81
commit ddf78aacba
3 changed files with 59 additions and 42 deletions

View File

@@ -8,6 +8,7 @@ import (
"github.com/rs/zerolog/log"
"github.com/yusing/godoxy/internal/route/rules"
"github.com/yusing/godoxy/internal/serialization"
gperr "github.com/yusing/goutils/errs"
)
//go:embed *.yml
@@ -34,12 +35,12 @@ func initPresets() {
var rules rules.Rules
content, err := fs.ReadFile(file.Name())
if err != nil {
log.Error().Str("name", file.Name()).Err(err).Msg("failed to read rule preset")
gperr.LogError("failed to read rule preset", err)
continue
}
_, err = serialization.ConvertString(string(content), reflect.ValueOf(&rules))
if err != nil {
log.Error().Str("name", file.Name()).Err(err).Msg("failed to unmarshal rule preset")
gperr.LogError("failed to unmarshal rule preset", err)
continue
}
rulePresets[file.Name()] = rules