Description:
To effectively monitor the running server and troubleshoot bugs, we need to separate our logs into three independent streams rather than dumping everything into a single output.
Tasks:
Configure the project's logger with the following rules:
Server Logs: Output real-time server events (startup, shutdown, critical system errors) only to the console (stdout/stderr).
HTTP Logs: Route all incoming HTTP requests, methods (GET, POST, etc.), and status codes (200, 404, 500) to a specific file: logs/http_logs.log.
Database Logs: Route all SQL/NoSQL queries generated by the ORM or raw execution to a specific file: logs/db_logs.log.
Ensure the logs/ directory is automatically created at the project root if it doesn't exist.
Update .gitignore to prevent log files from being committed to the repository.
Acceptance Criteria (Definition of Done):
[ ] System/server logs are successfully printed to the terminal console during execution.
[ ] Every API request writes a formatted line (method, URL, status code) to root/logs/http_logs.log.
[ ] Every database interaction writes the executed query to root/logs/db_logs.log.
[ ] The logs/ folder is successfully ignored by Git (entry added to .gitignore).
Description:
To effectively monitor the running server and troubleshoot bugs, we need to separate our logs into three independent streams rather than dumping everything into a single output.
Tasks:
Configure the project's logger with the following rules:
Server Logs: Output real-time server events (startup, shutdown, critical system errors) only to the console (stdout/stderr).
HTTP Logs: Route all incoming HTTP requests, methods (GET, POST, etc.), and status codes (200, 404, 500) to a specific file: logs/http_logs.log.
Database Logs: Route all SQL/NoSQL queries generated by the ORM or raw execution to a specific file: logs/db_logs.log.
Ensure the logs/ directory is automatically created at the project root if it doesn't exist.
Update .gitignore to prevent log files from being committed to the repository.
Acceptance Criteria (Definition of Done):
[ ] System/server logs are successfully printed to the terminal console during execution.
[ ] Every API request writes a formatted line (method, URL, status code) to root/logs/http_logs.log.
[ ] Every database interaction writes the executed query to root/logs/db_logs.log.
[ ] The logs/ folder is successfully ignored by Git (entry added to .gitignore).