- TS: pino + pino-http; every HTTP request log includes traceId from W3C traceparent header (generated if absent); forwarded to ml/serving on all /score, /generate, /reward, and /api/ml proxy calls - Python: structlog JSON; FastAPI middleware binds trace_id via contextvars so every log line within a request carries it - Sentry: optional SENTRY_DSN init in both runtimes (no-op if unset) - Replace all console.* calls across services/api with pino logger - Update tests to spy on logger instead of console Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
13 lines
313 B
TypeScript
13 lines
313 B
TypeScript
import pino from 'pino';
|
|
import * as Sentry from '@sentry/node';
|
|
|
|
if (process.env['SENTRY_DSN']) {
|
|
Sentry.init({
|
|
dsn: process.env['SENTRY_DSN'],
|
|
environment: process.env['NODE_ENV'] ?? 'development',
|
|
});
|
|
}
|
|
|
|
export const logger = pino({ level: process.env['LOG_LEVEL'] ?? 'info' });
|
|
export { Sentry };
|