### Context & Goal The bot currently relies on `console.error` which is hard to track and lacks context. A centralized error logging service will allow for better debugging, persistent error logs, and future integration with services like Sentry or Discord webhooks for alerts. ### Dependencies - None ### Affected Files - `shared/lib/logger.ts`: New file for the unified logger service. - `bot/lib/handlers/CommandHandler.ts`: Update to use the new logger for command errors. - `web/src/server.ts`: Update to use the new logger for API and WebSocket errors. ### Technical Constraints & Strategy - Implementation: Create a `Logger` class/object in `shared/lib`. - Support log levels: `info`, `warn`, `error`, `debug`. - Errors should capture: timestamp, source (bot/web), error message, and stack trace if available. - For now, logging to console and a local log file (e.g., `logs/error.log`) is sufficient. ### Definition of Done (Binary) - [ ] `Logger` service implemented in `shared/lib/logger.ts`. - [ ] Command errors are logged via the new service. - [ ] Web server errors are logged via the new service. - [ ] Log output is formatted consistently. ### New Test Files - `shared/lib/logger.test.ts`: Verify logger output and file writing.