diff --git a/docker-compose.yml b/docker-compose.yml index ea53f91..975f299 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -14,7 +14,6 @@ services: - API_STREAMING_TIMEOUT_MS=${API_STREAMING_TIMEOUT_MS:-18000000} - API_MAX_RETRIES=${API_MAX_RETRIES:-5} - API_RETRY_DELAY_MS=${API_RETRY_DELAY_MS:-2000} - - LOG_LEVEL=${LOG_LEVEL:-info} - NODE_ENV=${NODE_ENV:-production} - CLAUDE_CREDENTIALS_PATH=/app/credentials.json - DATABASE_URL=postgresql://${POSTGRES_USER:-postgres}:${POSTGRES_PASSWORD:-postgres}@${DB_HOST:-cc-db}:5432/${POSTGRES_DB:-claude_proxy} diff --git a/src/index.ts b/src/index.ts index fa56dd9..1f02bc9 100644 --- a/src/index.ts +++ b/src/index.ts @@ -1718,7 +1718,12 @@ export class ClaudeCodeProxy { tokenUsage: tokenUsage || undefined, }; - await this.usageTracker.trackRequest(method, path, metrics); + const trackedId = await this.usageTracker.trackRequest(method, path, metrics); + if (trackedId !== null) { + this.logger.debug(`tracked: id=${trackedId} provider=${provider} status=${statusCode} duration=${duration}ms`); + } else { + this.logger.warn(`tracking write returned null — DB unreachable or insert failed (provider=${provider} status=${statusCode})`); + } } /** @@ -1757,7 +1762,12 @@ export class ClaudeCodeProxy { tokenUsage: tokenUsage || undefined, }; - await this.usageTracker.trackRequest(method, path, metrics); + const trackedId = await this.usageTracker.trackRequest(method, path, metrics); + if (trackedId !== null) { + this.logger.debug(`tracked: id=${trackedId} provider=${provider} status=${statusCode} duration=${duration}ms`); + } else { + this.logger.warn(`tracking write returned null — DB unreachable or insert failed (provider=${provider} status=${statusCode})`); + } } /** @@ -2320,6 +2330,9 @@ es.onerror = () => { public async start(): Promise { const port = this.config.port; + this.logger.info(`Logger initialized at level=${this.config.logLevel}`); + this.logger.info(`Usage tracking enabled=${this.usageTracker.isTrackingEnabled()}`); + // Initialize database if tracking is enabled if (this.usageTracker.isTrackingEnabled()) { try { @@ -2329,10 +2342,13 @@ es.onerror = () => { this.logger.error("Failed to initialize database tracking"); this.logger.error("Continuing without database tracking..."); } + } else { + this.logger.warn("Usage tracking disabled — DATABASE_URL not set, /usage will return empty"); } this.server.listen(port, "0.0.0.0", () => { this.printStartupBanner(port); + this.logger.ok(`Server listening on 0.0.0.0:${port} (level=${this.config.logLevel})`); }); }