@abapify/logger 0.3.6 → 0.4.1

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.
@@ -0,0 +1,72 @@
1
+ //#region src/types.d.ts
2
+ /**
3
+ * Logger interface compatible with pino, winston, bunyan, and custom loggers
4
+ *
5
+ * This is the standard logger interface used across all @abapify packages.
6
+ */
7
+ interface Logger {
8
+ /**
9
+ * Log a trace message (lowest level)
10
+ */
11
+ trace(msg: string, obj?: any): void;
12
+ /**
13
+ * Log a debug message
14
+ */
15
+ debug(msg: string, obj?: any): void;
16
+ /**
17
+ * Log an info message
18
+ */
19
+ info(msg: string, obj?: any): void;
20
+ /**
21
+ * Log a warning message
22
+ */
23
+ warn(msg: string, obj?: any): void;
24
+ /**
25
+ * Log an error message
26
+ */
27
+ error(msg: string, obj?: any): void;
28
+ /**
29
+ * Log a fatal message (highest level)
30
+ */
31
+ fatal(msg: string, obj?: any): void;
32
+ /**
33
+ * Create a child logger with additional context
34
+ */
35
+ child(bindings: Record<string, any>): Logger;
36
+ }
37
+ //#endregion
38
+ //#region src/loggers/noop-logger.d.ts
39
+ /**
40
+ * No-op logger that discards all log messages
41
+ * Useful for testing or when logging is not needed
42
+ */
43
+ declare class NoOpLogger implements Logger {
44
+ trace(): void;
45
+ debug(): void;
46
+ info(): void;
47
+ warn(): void;
48
+ error(): void;
49
+ fatal(): void;
50
+ child(): Logger;
51
+ }
52
+ //#endregion
53
+ //#region src/loggers/console-logger.d.ts
54
+ /**
55
+ * Console logger that logs to stdout/stderr
56
+ * Simple logger for basic use cases
57
+ */
58
+ declare class ConsoleLogger implements Logger {
59
+ private readonly prefix?;
60
+ constructor(prefix?: string | undefined);
61
+ trace(msg: string, obj?: any): void;
62
+ debug(msg: string, obj?: any): void;
63
+ info(msg: string, obj?: any): void;
64
+ warn(msg: string, obj?: any): void;
65
+ error(msg: string, obj?: any): void;
66
+ fatal(msg: string, obj?: any): void;
67
+ child(bindings: Record<string, any>): Logger;
68
+ private format;
69
+ }
70
+ //#endregion
71
+ export { ConsoleLogger, type Logger, NoOpLogger };
72
+ //# sourceMappingURL=index.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.mts","names":[],"sources":["../src/types.ts","../src/loggers/noop-logger.ts","../src/loggers/console-logger.ts"],"mappings":";;AAKA;;;;UAAiB,MAAA;EAIT;;;EAAN,KAAA,CAAM,GAAA,UAAa,GAAA;EAKA;;;EAAnB,KAAA,CAAM,GAAA,UAAa,GAAA;EAUnB;;;EALA,IAAA,CAAK,GAAA,UAAa,GAAA;EAUZ;;;EALN,IAAA,CAAK,GAAA,UAAa,GAAA;EAUC;;;EALnB,KAAA,CAAM,GAAA,UAAa,GAAA;EAUmB;;;EALtC,KAAA,CAAM,GAAA,UAAa,GAAA;;;AC5BrB;EDiCE,KAAA,CAAM,QAAA,EAAU,MAAA,gBAAsB,MAAA;AAAA;;;AAlCxC;;;;AAAA,cCCa,UAAA,YAAsB,MAAA;EAEjC,KAAA,CAAA;EAEA,KAAA,CAAA;EAEA,IAAA,CAAA;EAEA,IAAA,CAAA;EAEA,KAAA,CAAA;EAEA,KAAA,CAAA;EACA,KAAA,CAAA,GAAS,MAAA;AAAA;;;ADdX;;;;AAAA,cECa,aAAA,YAAyB,MAAA;EAAA,iBACP,MAAA;cAAA,MAAA;EAE7B,KAAA,CAAM,GAAA,UAAa,GAAA;EAInB,KAAA,CAAM,GAAA,UAAa,GAAA;EAInB,IAAA,CAAK,GAAA,UAAa,GAAA;EAIlB,IAAA,CAAK,GAAA,UAAa,GAAA;EAIlB,KAAA,CAAM,GAAA,UAAa,GAAA;EAInB,KAAA,CAAM,GAAA,UAAa,GAAA;EAInB,KAAA,CAAM,QAAA,EAAU,MAAA,gBAAsB,MAAA;EAAA,QAQ9B,MAAA;AAAA"}
package/dist/index.mjs ADDED
@@ -0,0 +1,57 @@
1
+ //#region src/loggers/noop-logger.ts
2
+ /**
3
+ * No-op logger that discards all log messages
4
+ * Useful for testing or when logging is not needed
5
+ */
6
+ var NoOpLogger = class {
7
+ trace() {}
8
+ debug() {}
9
+ info() {}
10
+ warn() {}
11
+ error() {}
12
+ fatal() {}
13
+ child() {
14
+ return this;
15
+ }
16
+ };
17
+
18
+ //#endregion
19
+ //#region src/loggers/console-logger.ts
20
+ /**
21
+ * Console logger that logs to stdout/stderr
22
+ * Simple logger for basic use cases
23
+ */
24
+ var ConsoleLogger = class ConsoleLogger {
25
+ constructor(prefix) {
26
+ this.prefix = prefix;
27
+ }
28
+ trace(msg, obj) {
29
+ console.debug(this.format(msg, obj));
30
+ }
31
+ debug(msg, obj) {
32
+ console.debug(this.format(msg, obj));
33
+ }
34
+ info(msg, obj) {
35
+ console.log(this.format(msg, obj));
36
+ }
37
+ warn(msg, obj) {
38
+ console.warn(this.format(msg, obj));
39
+ }
40
+ error(msg, obj) {
41
+ console.error(this.format(msg, obj));
42
+ }
43
+ fatal(msg, obj) {
44
+ console.error(this.format(msg, obj));
45
+ }
46
+ child(bindings) {
47
+ const childPrefix = bindings.component || bindings.name || "child";
48
+ return new ConsoleLogger(this.prefix ? `${this.prefix}:${childPrefix}` : childPrefix);
49
+ }
50
+ format(msg, obj) {
51
+ return `${this.prefix ? `[${this.prefix}] ` : ""}${msg}${obj ? ` ${JSON.stringify(obj)}` : ""}`;
52
+ }
53
+ };
54
+
55
+ //#endregion
56
+ export { ConsoleLogger, NoOpLogger };
57
+ //# sourceMappingURL=index.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.mjs","names":[],"sources":["../src/loggers/noop-logger.ts","../src/loggers/console-logger.ts"],"sourcesContent":["import type { Logger } from '../types';\n\n/**\n * No-op logger that discards all log messages\n * Useful for testing or when logging is not needed\n */\nexport class NoOpLogger implements Logger {\n // eslint-disable-next-line @typescript-eslint/no-empty-function\n trace(): void {}\n // eslint-disable-next-line @typescript-eslint/no-empty-function\n debug(): void {}\n // eslint-disable-next-line @typescript-eslint/no-empty-function\n info(): void {}\n // eslint-disable-next-line @typescript-eslint/no-empty-function\n warn(): void {}\n // eslint-disable-next-line @typescript-eslint/no-empty-function\n error(): void {}\n // eslint-disable-next-line @typescript-eslint/no-empty-function\n fatal(): void {}\n child(): Logger {\n return this;\n }\n}\n","import type { Logger } from '../types';\n\n/**\n * Console logger that logs to stdout/stderr\n * Simple logger for basic use cases\n */\nexport class ConsoleLogger implements Logger {\n constructor(private readonly prefix?: string) {}\n\n trace(msg: string, obj?: any): void {\n console.debug(this.format(msg, obj));\n }\n\n debug(msg: string, obj?: any): void {\n console.debug(this.format(msg, obj));\n }\n\n info(msg: string, obj?: any): void {\n console.log(this.format(msg, obj));\n }\n\n warn(msg: string, obj?: any): void {\n console.warn(this.format(msg, obj));\n }\n\n error(msg: string, obj?: any): void {\n console.error(this.format(msg, obj));\n }\n\n fatal(msg: string, obj?: any): void {\n console.error(this.format(msg, obj));\n }\n\n child(bindings: Record<string, any>): Logger {\n const childPrefix = bindings.component || bindings.name || 'child';\n const newPrefix = this.prefix\n ? `${this.prefix}:${childPrefix}`\n : childPrefix;\n return new ConsoleLogger(newPrefix);\n }\n\n private format(msg: string, obj?: any): string {\n const prefix = this.prefix ? `[${this.prefix}] ` : '';\n const objStr = obj ? ` ${JSON.stringify(obj)}` : '';\n return `${prefix}${msg}${objStr}`;\n }\n}\n"],"mappings":";;;;;AAMA,IAAa,aAAb,MAA0C;CAExC,QAAc;CAEd,QAAc;CAEd,OAAa;CAEb,OAAa;CAEb,QAAc;CAEd,QAAc;CACd,QAAgB;AACd,SAAO;;;;;;;;;;ACdX,IAAa,gBAAb,MAAa,cAAgC;CAC3C,YAAY,AAAiB,QAAiB;EAAjB;;CAE7B,MAAM,KAAa,KAAiB;AAClC,UAAQ,MAAM,KAAK,OAAO,KAAK,IAAI,CAAC;;CAGtC,MAAM,KAAa,KAAiB;AAClC,UAAQ,MAAM,KAAK,OAAO,KAAK,IAAI,CAAC;;CAGtC,KAAK,KAAa,KAAiB;AACjC,UAAQ,IAAI,KAAK,OAAO,KAAK,IAAI,CAAC;;CAGpC,KAAK,KAAa,KAAiB;AACjC,UAAQ,KAAK,KAAK,OAAO,KAAK,IAAI,CAAC;;CAGrC,MAAM,KAAa,KAAiB;AAClC,UAAQ,MAAM,KAAK,OAAO,KAAK,IAAI,CAAC;;CAGtC,MAAM,KAAa,KAAiB;AAClC,UAAQ,MAAM,KAAK,OAAO,KAAK,IAAI,CAAC;;CAGtC,MAAM,UAAuC;EAC3C,MAAM,cAAc,SAAS,aAAa,SAAS,QAAQ;AAI3D,SAAO,IAAI,cAHO,KAAK,SACnB,GAAG,KAAK,OAAO,GAAG,gBAClB,YAC+B;;CAGrC,AAAQ,OAAO,KAAa,KAAmB;AAG7C,SAAO,GAFQ,KAAK,SAAS,IAAI,KAAK,OAAO,MAAM,KAEhC,MADJ,MAAM,IAAI,KAAK,UAAU,IAAI,KAAK"}
package/package.json CHANGED
@@ -3,7 +3,7 @@
3
3
  "publishConfig": {
4
4
  "access": "public"
5
5
  },
6
- "version": "0.3.6",
6
+ "version": "0.4.1",
7
7
  "description": "Shared logger interface for abapify packages",
8
8
  "type": "module",
9
9
  "types": "./dist/index.d.mts",