@hkdigital/lib-core 0.3.5 → 0.3.6

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.
@@ -15,15 +15,40 @@ export class PinoAdapter {
15
15
  * @param {Object} [options] - Pino configuration options
16
16
  */
17
17
  constructor(options = {}) {
18
- const defaultOptions = dev ? {
19
- level: 'debug',
20
- transport: {
21
- target: 'pino-pretty',
22
- options: {
23
- colorize: true
18
+ const defaultOptions = dev
19
+ ? {
20
+ level: 'debug',
21
+ serializers: {
22
+ err: (err) => {
23
+ const chain = [];
24
+ let current = err;
25
+ let isFirst = true;
26
+
27
+ while (current) {
28
+ const serialized = {
29
+ name: current.name,
30
+ message: current.message,
31
+ ...(isFirst &&
32
+ this.pino.level === 'debug' && {
33
+ stack: current.stack
34
+ })
35
+ };
36
+ chain.push(serialized);
37
+ current = current.cause;
38
+ isFirst = false;
39
+ }
40
+
41
+ return { errorChain: chain };
42
+ }
43
+ },
44
+ transport: {
45
+ target: 'pino-pretty',
46
+ options: {
47
+ colorize: true
48
+ }
49
+ }
24
50
  }
25
- }
26
- } : {};
51
+ : {};
27
52
 
28
53
  this.pino = pino({ ...defaultOptions, ...options });
29
54
  }
@@ -4,6 +4,6 @@
4
4
  * @param {string} serviceName - Name of the service
5
5
  * @param {string} [level] - Initial log level
6
6
  * @param {Object} [options] - Additional options
7
- * @returns {Logger} Configured logger instance
7
+ * @returns {import('../unified-logger').Logger} Configured logger instance
8
8
  */
9
- export function createLogger(serviceName: string, level?: string, options?: any): Logger;
9
+ export function createLogger(serviceName: string, level?: string, options?: any): import("../unified-logger").Logger;
@@ -1,7 +1,6 @@
1
1
  /**
2
2
  * Universal logger factory that auto-detects environment
3
3
  */
4
-
5
4
  import { browser } from '$app/environment';
6
5
  import { createServerLogger } from './server.js';
7
6
  import { createClientLogger } from './client.js';
@@ -12,7 +11,7 @@ import { createClientLogger } from './client.js';
12
11
  * @param {string} serviceName - Name of the service
13
12
  * @param {string} [level] - Initial log level
14
13
  * @param {Object} [options] - Additional options
15
- * @returns {Logger} Configured logger instance
14
+ * @returns {import('../unified-logger').Logger} Configured logger instance
16
15
  */
17
16
  export function createLogger(serviceName, level, options = {}) {
18
17
  if (browser) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@hkdigital/lib-core",
3
- "version": "0.3.5",
3
+ "version": "0.3.6",
4
4
  "author": {
5
5
  "name": "HKdigital",
6
6
  "url": "https://hkdigital.nl"