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
- // 2. Optional: Logtail transport (if token is provided)
4
- const targets = [
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 || (process.env.NODE_ENV === 'production' ? 'info' : 'debug'),
28
  base: {
29
  env: process.env.NODE_ENV,
30
  service: 'api-gateway'
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
31
  }
32
- }, transport);
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('[RATE-LIMIT] Initialization failed:', err);
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('[AI_SERVICE] Redis error:', err);
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('[AI_SERVICE] Failed to fetch tenant personality:', err);
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 (error) {
84
- logger.error('[StripeService] Failed to create checkout session:', error);
85
- throw error;
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 (error) {
141
- logger.error('[StripeService] Failed to create portal session:', error);
142
- throw error;
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
  }