You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Add logfmt as a supported log format. It just needed to be exposed to the command line.
Remove the op-node's log config & use op-service's version instead.
Change the default logger to be use logfmt instead of terminal with color
Change the behavior of text to mean terminal if it is a terminal or logfmt if there is no terminal.
The default logger is still text.
Added a log formatted version of the startup banner. It will still pretty-print if running in terminal mode.
To do this I had the move where the startup banner was logged to earlier on in the startup process.
Rationale
One of the tradeoffs that we need to make while logging is between having enough information to effectively debug problems & not providing information overload to end users or emitting too many logs which takes up disk space.
I have kept terminal logging the same for users that are directly running in a terminal, but for users that are running in docker or another non-terminal environment I switched the default to logfmt.
The logfmt format can easily be parsed by logging infrastructure while it remains more human readable than JSON. It also includes full hashes instead of the abridged terminal hash which is critical for being able to debug complex issues. One example is by abridging transaction hashes in the batcher I am not able to easily determine which transactions got included on chain and which did not. It is important that this is the default for external users because it means that when we get logs they will have enough information to be actionable. If home users are running in docker, the logs remain human readable if they need to look through them.
Merging this PR will not cause a version bump for any packages. If these changes should not result in a new version, you're good to go. If these changes should result in a version bump, you need to add a changeset.
This PR includes no changesets
When changesets are added to this PR, you'll see the packages that this PR includes changesets for and the associated semver types
Merging #5085 (4be08d5) into develop (1d5a265) will increase coverage by 0.04%.
The diff coverage is 5.12%.
❗ Current head 4be08d5 differs from pull request most recent head 3f0d2bd. Consider uploading reports for the commit 3f0d2bd to get more accurate results
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description
This PR does the following
logfmtas a supported log format. It just needed to be exposed to the command line.logfmtinstead ofterminal with colortextto meanterminalif it is a terminal orlogfmtif there is no terminal.text.Rationale
One of the tradeoffs that we need to make while logging is between having enough information to effectively debug problems & not providing information overload to end users or emitting too many logs which takes up disk space.
I have kept terminal logging the same for users that are directly running in a terminal, but for users that are running in docker or another non-terminal environment I switched the default to
logfmt.The
logfmtformat can easily be parsed by logging infrastructure while it remains more human readable than JSON. It also includes full hashes instead of the abridged terminal hash which is critical for being able to debug complex issues. One example is by abridging transaction hashes in the batcher I am not able to easily determine which transactions got included on chain and which did not. It is important that this is the default for external users because it means that when we get logs they will have enough information to be actionable. If home users are running in docker, the logs remain human readable if they need to look through them.Log Format Example log line
Tests
Tested manually.