Skip to content

respect NoColor setting in defaultLogEntry.Panic()#1061

Open
ImpulseB23 wants to merge 1 commit intogo-chi:masterfrom
ImpulseB23:fix/panic-nocolor
Open

respect NoColor setting in defaultLogEntry.Panic()#1061
ImpulseB23 wants to merge 1 commit intogo-chi:masterfrom
ImpulseB23:fix/panic-nocolor

Conversation

@ImpulseB23
Copy link

Fixes #1042.

defaultLogEntry.Panic() called PrintPrettyStack() which hardcodes useColor = true, ignoring the formatter's NoColor setting.

Copilot AI review requested due to automatic review settings March 14, 2026 23:17
Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR fixes issue #1042 by ensuring panic stack traces emitted via defaultLogEntry.Panic() honor the DefaultLogFormatter.NoColor setting, rather than always forcing colored output.

Changes:

  • Refactors pretty stack printing to accept a useColor flag.
  • Updates defaultLogEntry.Panic() to propagate the formatter’s color preference into stack printing.
  • Adds a regression test to ensure no ANSI escape codes are emitted when NoColor is set.

Reviewed changes

Copilot reviewed 3 out of 3 changed files in this pull request and generated 1 comment.

File Description
middleware/recoverer.go Introduces a color-aware internal stack printer and threads useColor into parsing/formatting.
middleware/logger.go Passes the log entry’s computed useColor into pretty stack printing from Panic().
middleware/recoverer_test.go Adds a test validating NoColor disables ANSI escapes in panic output.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@@ -160,7 +160,7 @@ func (l *defaultLogEntry) Write(status, bytes int, header http.Header, elapsed t
}

func (l *defaultLogEntry) Panic(v interface{}, stack []byte) {
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

middleware.Logger: defaultLogEntry.Panic() does not respect 'NoColor' of DefaultLogFormatter

2 participants