Skip to content

chore(logger): extract logger creation into protected method #1646

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

Merged
merged 1 commit into from
Aug 2, 2023

Conversation

dreamorosi
Copy link
Contributor

Description of your changes

This PR introduces a minor internal change into the Logger class that, in its current implementation, can help customers who want to customize the utility by extending/subclassing the Logger class.

Prior to this PR when creating a new child logger, the creation of a new Logger instance was inline inside the createChild method. Customers wanting to extend the Logger by creating their own subclass were having a difficult time doing so because the child loggers would be creating using the original Logger class.

By extracting that logic into its own createLogger protected method customers can override the method and instantiate their own custom logger when creating a child.

Warning
Extending or depending on internal method comes with risks. Powertools for AWS is committed to avoid intentional breaking changes in public APIs and interfaces, however we can't guarantee that internal methods or implementation details won't change in the event of a refactor or new feature addition.

Related issues, RFCs

Issue number: #1307

Checklist

  • My changes meet the tenets criteria
  • I have performed a self-review of my own code
  • I have commented my code where necessary, particularly in areas that should be flagged with a TODO, or hard-to-understand areas
  • I have made corresponding changes to the documentation
  • My changes generate no new warnings
  • I have added tests that prove my change is effective and works
  • The PR title follows the conventional commit semantics

Breaking change checklist

Is it a breaking change?: NO

  • I have documented the migration process
  • I have added, implemented necessary warnings (if it can live side by side)

By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

Disclaimer: We value your time and bandwidth. As such, any pull requests created on non-triaged issues might not be successful.

@dreamorosi dreamorosi requested a review from a team August 2, 2023 15:38
@dreamorosi dreamorosi self-assigned this Aug 2, 2023
@dreamorosi dreamorosi linked an issue Aug 2, 2023 that may be closed by this pull request
2 tasks
@boring-cyborg boring-cyborg bot added the logger This item relates to the Logger Utility label Aug 2, 2023
@pull-request-size pull-request-size bot added the size/S PR between 10-29 LOC label Aug 2, 2023
@sonarqubecloud
Copy link

sonarqubecloud bot commented Aug 2, 2023

Kudos, SonarCloud Quality Gate passed!    Quality Gate passed

Bug A 0 Bugs
Vulnerability A 0 Vulnerabilities
Security Hotspot A 0 Security Hotspots
Code Smell A 0 Code Smells

No Coverage information No Coverage information
0.0% 0.0% Duplication

@dreamorosi
Copy link
Contributor Author

@dreamorosi dreamorosi merged commit 5248809 into main Aug 2, 2023
@dreamorosi dreamorosi deleted the 1307-create-logger-protected-method branch August 2, 2023 21:31
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
logger This item relates to the Logger Utility size/S PR between 10-29 LOC
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Feature request: Consider protected rather than private methods
1 participant