@mereb/shared-packages 0.0.37 → 0.0.38

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.d.ts CHANGED
@@ -2,6 +2,7 @@ export * from './auth/jwks.js';
2
2
  export * from './cache/redis.js';
3
3
  export * from './config/env.js';
4
4
  export * from './logger.js';
5
+ export { createFastifyLoggerOptions } from './logger.js';
5
6
  export type { Logger } from 'pino';
6
7
  export * from './messaging/kafka.js';
7
8
  export * from './observability/otel.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC;AAC/B,cAAc,kBAAkB,CAAC;AACjC,cAAc,iBAAiB,CAAC;AAChC,cAAc,aAAa,CAAC;AAC5B,YAAY,EAAE,MAAM,EAAE,MAAM,MAAM,CAAC;AACnC,cAAc,sBAAsB,CAAC;AACrC,cAAc,yBAAyB,CAAC;AACxC,cAAc,eAAe,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC;AAC/B,cAAc,kBAAkB,CAAC;AACjC,cAAc,iBAAiB,CAAC;AAChC,cAAc,aAAa,CAAC;AAC5B,OAAO,EAAE,0BAA0B,EAAE,MAAM,aAAa,CAAC;AACzD,YAAY,EAAE,MAAM,EAAE,MAAM,MAAM,CAAC;AACnC,cAAc,sBAAsB,CAAC;AACrC,cAAc,yBAAyB,CAAC;AACxC,cAAc,eAAe,CAAC"}
package/dist/index.js CHANGED
@@ -2,6 +2,7 @@ export * from './auth/jwks.js';
2
2
  export * from './cache/redis.js';
3
3
  export * from './config/env.js';
4
4
  export * from './logger.js';
5
+ export { createFastifyLoggerOptions } from './logger.js';
5
6
  export * from './messaging/kafka.js';
6
7
  export * from './observability/otel.js';
7
8
  export * from './media/s3.js';
package/dist/logger.d.ts CHANGED
@@ -1,3 +1,14 @@
1
1
  import pino from 'pino';
2
+ type TransportTarget = {
3
+ target: string;
4
+ level?: pino.LevelWithSilentOrString;
5
+ options?: Record<string, unknown>;
6
+ };
7
+ export declare function createFastifyLoggerOptions(name: string): pino.LoggerOptions & {
8
+ transport?: {
9
+ targets: TransportTarget[];
10
+ };
11
+ };
2
12
  export declare function createLogger(name: string): pino.Logger;
13
+ export {};
3
14
  //# sourceMappingURL=logger.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../src/logger.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,MAAM,CAAC;AAsCxB,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC,MAAM,CA4DtD"}
1
+ {"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../src/logger.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,MAAM,CAAC;AAWxB,KAAK,eAAe,GAAG;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,IAAI,CAAC,uBAAuB,CAAC;IACrC,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACrC,CAAC;AA6EF,wBAAgB,0BAA0B,CACtC,IAAI,EAAE,MAAM,GACb,IAAI,CAAC,aAAa,GAAG;IAAC,SAAS,CAAC,EAAE;QAAC,OAAO,EAAE,eAAe,EAAE,CAAA;KAAC,CAAA;CAAC,CAUjE;AAED,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC,MAAM,CAWtD"}
package/dist/logger.js CHANGED
@@ -27,8 +27,8 @@ function resolveSplunkConfig(name) {
27
27
  source: name
28
28
  };
29
29
  }
30
- export function createLogger(name) {
31
- const transports = [];
30
+ function buildTransportTargets(name) {
31
+ const targets = [];
32
32
  const splunkConfig = resolveSplunkConfig(name);
33
33
  const baseLevel = process.env.LOG_LEVEL ?? 'info';
34
34
  const isProd = process.env.NODE_ENV === 'production';
@@ -36,14 +36,18 @@ export function createLogger(name) {
36
36
  console.warn('Splunk token missing; HEC logging disabled');
37
37
  }
38
38
  if (isProd) {
39
- transports.push({ stream: process.stdout });
39
+ targets.push({
40
+ target: 'pino/file',
41
+ options: { destination: 1 },
42
+ level: baseLevel
43
+ });
40
44
  }
41
45
  else {
42
- const pretty = pino.transport({
46
+ targets.push({
43
47
  target: 'pino-pretty',
44
- options: { translateTime: 'SYS:standard' }
48
+ options: { translateTime: 'SYS:standard' },
49
+ level: baseLevel
45
50
  });
46
- transports.push({ stream: pretty });
47
51
  }
48
52
  if (splunkConfig) {
49
53
  const transportPath = join(dirname(fileURLToPath(import.meta.url)), 'transports', 'splunk-transport.js');
@@ -52,21 +56,31 @@ export function createLogger(name) {
52
56
  index: splunkConfig.index,
53
57
  source: splunkConfig.source
54
58
  });
55
- const splunkStream = pino.transport({
59
+ targets.push({
56
60
  target: transportPath,
57
61
  level: 'info',
58
62
  options: splunkConfig
59
63
  });
60
- transports.push({ stream: splunkStream, level: 'info' });
61
64
  }
62
- const destination = transports.length === 1
63
- ? transports[0].stream
64
- : pino.multistream(transports.map((t) => ({
65
- stream: t.stream,
66
- level: t.level ?? baseLevel
67
- })));
68
- return pino({
69
- name,
70
- level: baseLevel
71
- }, destination);
65
+ return targets;
66
+ }
67
+ export function createFastifyLoggerOptions(name) {
68
+ const baseLevel = process.env.LOG_LEVEL ?? 'info';
69
+ const targets = buildTransportTargets(name);
70
+ if (!targets.length) {
71
+ return { level: baseLevel };
72
+ }
73
+ return {
74
+ level: baseLevel,
75
+ transport: { targets }
76
+ };
77
+ }
78
+ export function createLogger(name) {
79
+ const baseLevel = process.env.LOG_LEVEL ?? 'info';
80
+ const targets = buildTransportTargets(name);
81
+ if (!targets.length) {
82
+ return pino({ name, level: baseLevel });
83
+ }
84
+ const transport = pino.transport({ targets });
85
+ return pino({ name, level: baseLevel }, transport);
72
86
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mereb/shared-packages",
3
- "version": "0.0.37",
3
+ "version": "0.0.38",
4
4
  "type": "module",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",