fix: Improve logging - fix LOG_LEVEL filter, reduce HTTP noise

- Fix LOG_LEVEL filtering logic (was inverted)
- HTTP logs now only show errors (4xx, 5xx) by default
- Add database connection check at startup
- Cron jobs logged on separate lines
- LOG_LEVEL=debug shows all HTTP requests

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
richardtekula
2025-12-17 09:54:07 +01:00
parent 095a3a5b03
commit 3cd2531f6b
5 changed files with 49 additions and 27 deletions

View File

@@ -30,9 +30,13 @@ import eventRoutes from './routes/event.routes.js';
const app = express();
// HTTP request logging via Morgan -> custom logger
const morganStream = { write: (message) => logger.http(message.trim()) };
app.use(morgan(':method :url :status :response-time ms', { stream: morganStream }));
// HTTP request logging - only errors by default (LOG_LEVEL=debug shows all)
app.use(morgan((tokens, req, res) => {
const status = parseInt(tokens.status(req, res)) || 0;
const message = `${tokens.method(req, res)} ${tokens.url(req, res)} ${status} ${tokens['response-time'](req, res)} ms`;
logger.http(message, status);
return null; // Don't write to stdout, logger handles it
}));
app.use(
helmet({
contentSecurityPolicy: {