-
Notifications
You must be signed in to change notification settings - Fork 42
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add ColorHeaderAndFields
logger option
#118
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Mostly a lot of questions about formatting and logic
intlogger.go
Outdated
// Optionally apply the ANSI "dim" (faint) and "bold" | ||
// SGR values to the key. | ||
if l.fieldColor != ColorOff { | ||
color := color.New(color.Faint, color.Bold) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It seems weird to use faint and bold. Why not just bold?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The concern is mostly how other folks default terminal fonts will handle faint+bold. We have to be careful picking here because it has a big influence on all the users.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
That's a fair point. I think the Windows terminal would likely be the odd one to consider, and it seems like they do support this style: microsoft/terminal#6703 (comment)
Faint/dim is a fairly standard SGR style, implemented in VSCode's terminal emulator (xtermjs) as well (which is what those screenshots are showing).
Bold, I believe, is the more widely supported style. But, I would really rather have faint than bold here to help break up the line. I feel it's important. I don't know if we can actually detect if it's supported?
Addresses #118 (comment) and #118 (comment)
Addresses #118 (comment)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks great! Be sure to squash the history on merging. One minor question about fainting the = is all.
…loud/fleeting-plugin-hetzner!37) This MR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [github.com/hashicorp/go-hclog](https://github.com/hashicorp/go-hclog) | require | minor | `v1.1.0` -> `v1.6.3` | --- ### Release Notes <details> <summary>hashicorp/go-hclog (github.com/hashicorp/go-hclog)</summary> ### [`v1.6.3`](https://github.com/hashicorp/go-hclog/releases/tag/v1.6.3): Optional JSON escaping [Compare Source](hashicorp/go-hclog@v1.6.2...v1.6.3) #### What's Changed - hclogvet: updates for go1.22 by [@​shoenig](https://github.com/shoenig) in hashicorp/go-hclog#138 - support configure json escape when log in json format by [@​Ericwww](https://github.com/Ericwww) in hashicorp/go-hclog#141 #### New Contributors - [@​Ericwww](https://github.com/Ericwww) made their first contribution in hashicorp/go-hclog#141 **Full Changelog**: hashicorp/go-hclog@v1.6.2...v1.6.3 ### [`v1.6.2`](https://github.com/hashicorp/go-hclog/releases/tag/v1.6.2): Fix level syncing [Compare Source](hashicorp/go-hclog@v1.6.1...v1.6.2) #### What's Changed - Conside if the level is to be used separately from if the levels should be calculated by [@​evanphx](https://github.com/evanphx) in hashicorp/go-hclog#137 **Full Changelog**: hashicorp/go-hclog@v1.6.1...v1.6.2 ### [`v1.6.1`](https://github.com/hashicorp/go-hclog/releases/tag/v1.6.1): Fix forcing color [Compare Source](hashicorp/go-hclog@v1.6.0...v1.6.1) #### What's Changed - Fix colors not being forced on correctly. by [@​evanphx](https://github.com/evanphx) in hashicorp/go-hclog#136 **Full Changelog**: hashicorp/go-hclog@v1.6.0...v1.6.1 ### [`v1.6.0`](https://github.com/hashicorp/go-hclog/releases/tag/v1.6.0): New level inheritance mode [Compare Source](hashicorp/go-hclog@v1.5.0...v1.6.0) This release adds the ability to have sub-loggers arrange themselves into a tree and sync the level changes downward in the tree. #### What's Changed - SEC-090: Automated trusted workflow pinning (2023-04-03) by [@​hashicorp-tsccr](https://github.com/hashicorp-tsccr) in hashicorp/go-hclog#128 - Docs: InferLevelsWithTimestamp relies on InferLevels being true by [@​peteski22](https://github.com/peteski22) in hashicorp/go-hclog#135 - Implement the ability to more logically share level hierarchies by [@​evanphx](https://github.com/evanphx) in hashicorp/go-hclog#134 #### New Contributors - [@​hashicorp-tsccr](https://github.com/hashicorp-tsccr) made their first contribution in hashicorp/go-hclog#128 - [@​peteski22](https://github.com/peteski22) made their first contribution in hashicorp/go-hclog#135 **Full Changelog**: hashicorp/go-hclog@v1.5.0...v1.6.0 ### [`v1.5.0`](https://github.com/hashicorp/go-hclog/releases/tag/v1.5.0): Better color and sublogger mods [Compare Source](hashicorp/go-hclog@v1.4.0...v1.5.0) #### What's Changed - Update LICENSE by [@​CalebAlbers](https://github.com/CalebAlbers) in hashicorp/go-hclog#121 - build: update to go1.20 and x/tools to 0.5.0 by [@​shoenig](https://github.com/shoenig) in hashicorp/go-hclog#125 - Improve AutoColor functionality by [@​evanphx](https://github.com/evanphx) in hashicorp/go-hclog#123 - Add ability to wrap new subloggers by [@​evanphx](https://github.com/evanphx) in hashicorp/go-hclog#126 - \[COMPLIANCE] Add Copyright and License Headers by [@​hashicorp-copywrite](https://github.com/hashicorp-copywrite) in hashicorp/go-hclog#124 #### New Contributors - [@​CalebAlbers](https://github.com/CalebAlbers) made their first contribution in hashicorp/go-hclog#121 - [@​hashicorp-copywrite](https://github.com/hashicorp-copywrite) made their first contribution in hashicorp/go-hclog#124 **Full Changelog**: hashicorp/go-hclog@v1.4.0...v1.5.0 ### [`v1.4.0`](https://github.com/hashicorp/go-hclog/releases/tag/v1.4.0): Add GetLevel [Compare Source](hashicorp/go-hclog@v1.3.1...v1.4.0) What it says on the tin, add GetLevel to the Logger interface. #### What's Changed - Add GetLevel to Logger interface by [@​evanphx](https://github.com/evanphx) in hashicorp/go-hclog#120 **Full Changelog**: hashicorp/go-hclog@v1.3.1...v1.4.0 ### [`v1.3.1`](https://github.com/hashicorp/go-hclog/releases/tag/v1.3.1): Improved multi line output rendering [Compare Source](hashicorp/go-hclog@v1.3.0...v1.3.1) #### What's Changed - When rendering multiple line output, still quote the individual lines by [@​evanphx](https://github.com/evanphx) in hashicorp/go-hclog#119 **Full Changelog**: hashicorp/go-hclog@v1.3.0...v1.3.1 ### [`v1.3.0`](https://github.com/hashicorp/go-hclog/releases/tag/v1.3.0): Field Colorization [Compare Source](hashicorp/go-hclog@v1.2.2...v1.3.0) This version adds the ability to colorize fields for improved readability. #### What's Changed - build: update go tools dependency by [@​pkazmierczak](https://github.com/pkazmierczak) in hashicorp/go-hclog#117 - Add `ColorHeaderAndFields` logger option by [@​picatz](https://github.com/picatz) in hashicorp/go-hclog#118 #### New Contributors - [@​pkazmierczak](https://github.com/pkazmierczak) made their first contribution in hashicorp/go-hclog#117 - [@​picatz](https://github.com/picatz) made their first contribution in hashicorp/go-hclog#118 **Full Changelog**: hashicorp/go-hclog@v1.2.2...v1.3.0 ### [`v1.2.2`](https://github.com/hashicorp/go-hclog/releases/tag/v1.2.2): Minor formatting fix [Compare Source](hashicorp/go-hclog@v1.2.1...v1.2.2) #### What's Changed - fix various typos in comments by [@​marco-m](https://github.com/marco-m) in hashicorp/go-hclog#115 - Omit empty colon when message is empty. Fixes [#​109](hashicorp/go-hclog#109) by [@​evanphx](https://github.com/evanphx) in hashicorp/go-hclog#116 **Full Changelog**: hashicorp/go-hclog@v1.2.1...v1.2.2 ### [`v1.2.1`](https://github.com/hashicorp/go-hclog/releases/tag/v1.2.1): testify/go.yaml fix [Compare Source](hashicorp/go-hclog@v1.2.0...v1.2.1) This bumps the version of testify and go.yaml that are referenced by go-hclog to fix a security issue in go.yaml. ### [`v1.2.0`](https://github.com/hashicorp/go-hclog/releases/tag/v1.2.0): More Restrained Color [Compare Source](hashicorp/go-hclog@v1.1.0...v1.2.0) #### What's Changed - Add Windows, MacOS to GitHub Actions build matrix by [@​dolmen](https://github.com/dolmen) in hashicorp/go-hclog#107 - Add ability to only colorize the header, not the whole log message by [@​evanphx](https://github.com/evanphx) in hashicorp/go-hclog#108 #### New Contributors - [@​dolmen](https://github.com/dolmen) made their first contribution in hashicorp/go-hclog#107 **Full Changelog**: hashicorp/go-hclog@v1.1.0...v1.2.0 </details> --- ### Configuration 📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined). 🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied. ♻ **Rebasing**: Whenever MR becomes conflicted, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this MR and you won't be reminded about this update again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this MR, check this box --- This MR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4zMjQuMSIsInVwZGF0ZWRJblZlciI6IjM3LjMyNC4xIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119-->
This PR builds on #108, extending the ability to color fields as well as the level header.
When I have log lines with multiple fields (especially with long values), I find it hard to visually pinpoint the part of the log message I'm interested in. I think by dimming the
key=
part of the field, it'll be faster and easier to visually parse the information. For multi-line values, this will also dim the|
prefix.Usage
Before
After