Refactor parseLogLevel for case-insensitivity#9447
Open
Thunder420Rock wants to merge 1 commit into
Open
Conversation
Updated parseLogLevel method to be case-insensitive and return undefined for unmatched levels.fix(core-bentley): make Logger.configureLevels case-insensitive for log levels Logger.validateProps was using isLogLevel() which called LogLevel.hasOwnProperty() to validate log level strings. This was a case-sensitive check, causing "INFO", "error", "warning" etc. to be rejected even though parseLogLevel() already handled case-insensitive matching via toUpperCase(). Fix by: - Updating isLogLevel() to delegate to parseLogLevel() instead of hasOwnProperty() - Updating parseLogLevel() to return undefined for unrecognized strings (instead of falling back to LogLevel.None), and adding "NONE" as an explicit valid case - Updating configureLevels() to guard against undefined from parseLogLevel() Fixes iTwin#8476
Contributor
|
H!, can you follow https://github.com/iTwin/itwinjs-core?tab=contributing-ov-file#source-code-edit-workflow There are files I expect to see in this PR that aren't yet, and we'll be open to reviewing and approving workflows after thats done |
Contributor
|
Thanks for the contribution! The issue is this changes The actual bug is just in |
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
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Updated parseLogLevel method to be case-insensitive and return undefined for unmatched levels.fix(core-bentley): make Logger.configureLevels case-insensitive for log levels
Logger.validateProps was using isLogLevel() which called LogLevel.hasOwnProperty() to validate log level strings. This was a case-sensitive check, causing "INFO", "error", "warning" etc. to be rejected even though parseLogLevel() already handled case-insensitive matching via toUpperCase().
Fix by:
Fixes #8476