CognxSafeTrack commited on
Commit ·
38df3bf
1
Parent(s): 0a6555d
fix: restore logger compatibility and fix major TS errors in services
Browse files
apps/api/src/logger.ts
CHANGED
|
@@ -1,35 +1,33 @@
|
|
| 1 |
import pino from 'pino';
|
| 2 |
|
| 3 |
-
//
|
| 4 |
-
const
|
| 5 |
-
{
|
| 6 |
-
target: 'pino-pretty',
|
| 7 |
-
options: {
|
| 8 |
-
colorize: true,
|
| 9 |
-
ignore: 'pid,hostname',
|
| 10 |
-
translateTime: 'SYS:standard',
|
| 11 |
-
},
|
| 12 |
-
level: process.env.NODE_ENV === 'production' ? 'info' : 'debug'
|
| 13 |
-
}
|
| 14 |
-
];
|
| 15 |
-
|
| 16 |
-
if (process.env.LOGTAIL_TOKEN) {
|
| 17 |
-
targets.push({
|
| 18 |
-
target: '@logtail/pino',
|
| 19 |
-
options: { sourceToken: process.env.LOGTAIL_TOKEN },
|
| 20 |
-
level: 'info'
|
| 21 |
-
});
|
| 22 |
-
}
|
| 23 |
-
|
| 24 |
-
const transport = pino.transport({ targets });
|
| 25 |
|
| 26 |
export const logger = pino({
|
| 27 |
-
level: process.env.LOG_LEVEL || (
|
| 28 |
base: {
|
| 29 |
env: process.env.NODE_ENV,
|
| 30 |
service: 'api-gateway'
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 31 |
}
|
| 32 |
-
}
|
| 33 |
|
| 34 |
-
// Compatibility with legacy logger usage if any
|
| 35 |
export const log = logger;
|
|
|
|
| 1 |
import pino from 'pino';
|
| 2 |
|
| 3 |
+
// Use a simple configuration to maintain compatibility with existing logger.info/error calls
|
| 4 |
+
const isProduction = process.env.NODE_ENV === 'production';
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 5 |
|
| 6 |
export const logger = pino({
|
| 7 |
+
level: process.env.LOG_LEVEL || (isProduction ? 'info' : 'debug'),
|
| 8 |
base: {
|
| 9 |
env: process.env.NODE_ENV,
|
| 10 |
service: 'api-gateway'
|
| 11 |
+
},
|
| 12 |
+
// Standard transport configuration
|
| 13 |
+
transport: {
|
| 14 |
+
targets: [
|
| 15 |
+
{
|
| 16 |
+
target: 'pino-pretty',
|
| 17 |
+
level: isProduction ? 'info' : 'debug',
|
| 18 |
+
options: {
|
| 19 |
+
colorize: true,
|
| 20 |
+
ignore: 'pid,hostname',
|
| 21 |
+
translateTime: 'SYS:standard',
|
| 22 |
+
}
|
| 23 |
+
},
|
| 24 |
+
...(process.env.LOGTAIL_TOKEN ? [{
|
| 25 |
+
target: '@logtail/pino',
|
| 26 |
+
level: 'info',
|
| 27 |
+
options: { sourceToken: process.env.LOGTAIL_TOKEN }
|
| 28 |
+
}] : [])
|
| 29 |
+
]
|
| 30 |
}
|
| 31 |
+
});
|
| 32 |
|
|
|
|
| 33 |
export const log = logger;
|
apps/api/src/middleware/rateLimit.ts
CHANGED
|
@@ -17,6 +17,6 @@ export async function setupRateLimit(server: FastifyInstance) {
|
|
| 17 |
});
|
| 18 |
logger.info('[RATE-LIMIT] Configured successfully.');
|
| 19 |
} catch (err) {
|
| 20 |
-
logger.error(
|
| 21 |
}
|
| 22 |
}
|
|
|
|
| 17 |
});
|
| 18 |
logger.info('[RATE-LIMIT] Configured successfully.');
|
| 19 |
} catch (err) {
|
| 20 |
+
logger.error({ err }, "[RATE-LIMIT] Initialization failed:");
|
| 21 |
}
|
| 22 |
}
|
apps/api/src/services/ai/index.ts
CHANGED
|
@@ -59,7 +59,7 @@ class AIService {
|
|
| 59 |
const cached = await redis.get(cacheKey);
|
| 60 |
if (cached) return JSON.parse(cached);
|
| 61 |
} catch (err) {
|
| 62 |
-
logger.error(
|
| 63 |
}
|
| 64 |
|
| 65 |
try {
|
|
@@ -71,7 +71,7 @@ class AIService {
|
|
| 71 |
await redis.set(cacheKey, JSON.stringify(personality), 'EX', 3600);
|
| 72 |
return personality;
|
| 73 |
} catch (err) {
|
| 74 |
-
logger.error(
|
| 75 |
return {};
|
| 76 |
}
|
| 77 |
}
|
|
|
|
| 59 |
const cached = await redis.get(cacheKey);
|
| 60 |
if (cached) return JSON.parse(cached);
|
| 61 |
} catch (err) {
|
| 62 |
+
logger.error({ err }, "[AI_SERVICE] Redis error:");
|
| 63 |
}
|
| 64 |
|
| 65 |
try {
|
|
|
|
| 71 |
await redis.set(cacheKey, JSON.stringify(personality), 'EX', 3600);
|
| 72 |
return personality;
|
| 73 |
} catch (err) {
|
| 74 |
+
logger.error({ err }, "[AI_SERVICE] Failed to fetch tenant personality:");
|
| 75 |
return {};
|
| 76 |
}
|
| 77 |
}
|
apps/api/src/services/stripe.ts
CHANGED
|
@@ -80,9 +80,9 @@ export class StripeService implements PaymentProvider {
|
|
| 80 |
});
|
| 81 |
|
| 82 |
return session.url || '';
|
| 83 |
-
} catch (
|
| 84 |
-
logger.error(
|
| 85 |
-
throw
|
| 86 |
}
|
| 87 |
}
|
| 88 |
|
|
@@ -137,9 +137,9 @@ export class StripeService implements PaymentProvider {
|
|
| 137 |
return_url: `${this.clientUrl}/settings`,
|
| 138 |
});
|
| 139 |
return session.url;
|
| 140 |
-
} catch (
|
| 141 |
-
logger.error('[StripeService] Failed to create portal session:'
|
| 142 |
-
throw
|
| 143 |
}
|
| 144 |
}
|
| 145 |
}
|
|
|
|
| 80 |
});
|
| 81 |
|
| 82 |
return session.url || '';
|
| 83 |
+
} catch (err) {
|
| 84 |
+
logger.error({ err }, "[StripeService] Failed to create checkout session:");
|
| 85 |
+
throw err;
|
| 86 |
}
|
| 87 |
}
|
| 88 |
|
|
|
|
| 137 |
return_url: `${this.clientUrl}/settings`,
|
| 138 |
});
|
| 139 |
return session.url;
|
| 140 |
+
} catch (err) {
|
| 141 |
+
logger.error({ err }, '[StripeService] Failed to create portal session:');
|
| 142 |
+
throw err;
|
| 143 |
}
|
| 144 |
}
|
| 145 |
}
|