-
Notifications
You must be signed in to change notification settings - Fork 1
New issue
Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? # to your account
refactor: refactor logger #107
Conversation
WalkthroughThis pull request centralizes the logging configuration by removing the in-file pino setup from both the dependency injection configuration and the main application entry point. A new logger module has been added to configure the logger based on environmental variables. Additionally, the cache repository instantiation has been simplified by removing the unnecessary container parameter from its function signature in the inversify configuration file. Changes
Sequence Diagram(s)sequenceDiagram
participant Main as main.ts
participant Inversify as inversify.config.ts
participant LoggerModule as logger.ts
participant CacheRepo as CacheRepository
Main->>Inversify: Initialize Dependency Container
Inversify->>LoggerModule: Import Logger and logger instance
Inversify->>Inversify: Bind Logger to container
Inversify->>CacheRepo: getCacheRepository() (no parameter)
Main->>LoggerModule: Use centralized logger for logging output
Poem
✨ Finishing Touches
Thank you for using CodeRabbit. We offer it for free to the OSS community and would appreciate your support in helping us grow. If you find it useful, would you consider giving us a shout-out on your favorite social media? 🪧 TipsChatThere are 3 ways to chat with CodeRabbit:
Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments. CodeRabbit Commands (Invoked using PR comments)
Other keywords and placeholders
CodeRabbit Configuration File (
|
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.
Actionable comments posted: 0
🧹 Nitpick comments (1)
apps/api/src/logger.ts (1)
1-17
: Excellent centralization of logger configuration!This is a clean implementation that properly centralizes the logger configuration. The conditional configuration based on environment and parameterized log level provides flexibility while eliminating code duplication.
Consider adding a brief comment explaining the configuration choices for easier maintenance in the future.
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (3)
apps/api/src/app/inversify.config.ts
(3 hunks)apps/api/src/logger.ts
(1 hunks)apps/api/src/main.ts
(1 hunks)
🔇 Additional comments (5)
apps/api/src/main.ts (1)
3-3
: Great simplification of logger usage!Importing the logger from a centralized module rather than configuring it locally reduces duplication and improves maintainability. This change directly addresses the PR objective.
apps/api/src/app/inversify.config.ts (4)
45-45
: Proper import of centralized logger!Importing both the type and instance from the logger module provides consistency and type safety.
61-67
: Good simplification of getCacheRepository function!Removing the unused parameter makes the code cleaner and the function signature more accurate.
145-145
: Appropriate binding of the Logger type!Using the imported Logger type instead of pino.Logger makes the code more maintainable and consistent.
148-148
: Correctly updated getCacheRepository call!The call has been updated to match the simplified function signature.
Sasha, merged as its low risk |
Address this comment: https://github.com/cowprotocol/bff/pull/105/files#r1970393051
Basically, we had some duplication for the definition of the logger.
I moved the logger to a shared location and refactored it
Summary by CodeRabbit
Refactor
Chores
These backend improvements ensure smoother operations and more reliable logging without impacting visible functionality.