@nexusts/logger 0.7.2 → 0.7.3
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.js +17 -1
- package/dist/index.js.map +2 -2
- package/package.json +2 -2
package/dist/index.js
CHANGED
|
@@ -1,4 +1,20 @@
|
|
|
1
1
|
// @bun
|
|
2
|
+
var __create = Object.create;
|
|
3
|
+
var __getProtoOf = Object.getPrototypeOf;
|
|
4
|
+
var __defProp = Object.defineProperty;
|
|
5
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
6
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
7
|
+
var __toESM = (mod, isNodeMode, target) => {
|
|
8
|
+
target = mod != null ? __create(__getProtoOf(mod)) : {};
|
|
9
|
+
const to = isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target;
|
|
10
|
+
for (let key of __getOwnPropNames(mod))
|
|
11
|
+
if (!__hasOwnProp.call(to, key))
|
|
12
|
+
__defProp(to, key, {
|
|
13
|
+
get: () => mod[key],
|
|
14
|
+
enumerable: true
|
|
15
|
+
});
|
|
16
|
+
return to;
|
|
17
|
+
};
|
|
2
18
|
var __legacyDecorateClassTS = function(decorators, target, key, desc) {
|
|
3
19
|
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
20
|
if (typeof Reflect === "object" && typeof Reflect.decorate === "function")
|
|
@@ -297,5 +313,5 @@ export {
|
|
|
297
313
|
Logger
|
|
298
314
|
};
|
|
299
315
|
|
|
300
|
-
//# debugId=
|
|
316
|
+
//# debugId=0B12737CF0E588BF64756E2164756E21
|
|
301
317
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
"/**\n * Built-in transports.\n *\n * - **PinoTransport** — JSON output via `pino` (production).\n * - **PrettyTransport** — colorized via `pino-pretty` (development).\n *\n * Both wrap the pino API and feed records into the same write loop,\n * so switching is one config flag.\n */\n\nimport type { LogLevel, LogRecord, LogTransport } from \"../types.js\";\n\ninterface PinoLike {\n\tlevel: string;\n\tinfo: (obj: object, msg?: string) => void;\n\twarn: (obj: object, msg?: string) => void;\n\terror: (obj: object, msg?: string) => void;\n\tdebug: (obj: object, msg?: string) => void;\n\ttrace: (obj: object, msg?: string) => void;\n\tfatal: (obj: object, msg?: string) => void;\n\tflush?: () => void;\n}\n\nlet pinoSingleton: PinoLike | null = null;\nlet prettySingleton: PinoLike | null = null;\n\nasync function loadPino(\n\tpretty: boolean,\n\tlevel: LogLevel,\n\tbase?: Record<string, unknown>,\n): Promise<PinoLike> {\n\tconst pinoMod = await import(\"pino\");\n\tconst pino = pinoMod.default ?? pinoMod;\n\tif (pretty) {\n\t\tif (prettySingleton) return prettySingleton;\n\t\t// eslint-disable-next-line @typescript-eslint/no-explicit-any\n\t\tconst opts: any = {\n\t\t\tlevel,\n\t\t\tbase,\n\t\t\terrorKey: \"error\",\n\t\t\ttranslateTime: \"HH:MM:ss.l\",\n\t\t\tignore: \"pid,hostname\",\n\t\t\tcolorize: true,\n\t\t};\n\t\t// Try to use pino-pretty if installed.\n\t\ttry {\n\t\t\t// eslint-disable-next-line @typescript-eslint/no-require-imports\n\t\t\tconst prettyMod = (\n\t\t\t\tglobalThis as { require?: (id: string) => unknown }\n\t\t\t).require?.(\"pino-pretty\") as ((opts: unknown) => unknown) | undefined;\n\t\t\tif (prettyMod) {\n\t\t\t\tprettySingleton = (pino as unknown as (opts: unknown) => PinoLike)(\n\t\t\t\t\topts,\n\t\t\t\t);\n\t\t\t\treturn prettySingleton;\n\t\t\t}\n\t\t} catch {\n\t\t\t// fall through\n\t\t}\n\t\tprettySingleton = (pino as unknown as (opts: unknown) => PinoLike)({\n\t\t\tlevel,\n\t\t\tbase,\n\t\t\ttimestamp: () => `,\"time\":\"${new Date().toISOString()}\"`,\n\t\t});\n\t\treturn prettySingleton;\n\t}\n\tif (pinoSingleton) return pinoSingleton;\n\tpinoSingleton = (pino as unknown as (opts: unknown) => PinoLike)({\n\t\tlevel,\n\t\tbase,\n\t\ttimestamp: () => `,\"time\":\"${new Date().toISOString()}\"`,\n\t});\n\treturn pinoSingleton;\n}\n\n/** JSON transport via pino. */\nexport class PinoTransport implements LogTransport {\n\treadonly name = \"pino\";\n\treadonly isDefault = true;\n\t#pino: PinoLike | null = null;\n\t#ready: Promise<void>;\n\n\tconstructor(level: LogLevel, base?: Record<string, unknown>) {\n\t\tthis.#ready = loadPino(false, level, base).then((p) => {\n\t\t\tthis.#pino = p;\n\t\t});\n\t}\n\n\tasync ready(): Promise<void> {\n\t\tawait this.#ready;\n\t}\n\n\twrite(record: LogRecord): void {\n\t\tif (!this.#pino) {\n\t\t\t// Fall back to stdout until pino is loaded.\n\t\t\tconsole.log(JSON.stringify(record));\n\t\t\treturn;\n\t\t}\n\t\tconst { level, time, msg, ...rest } = record;\n\t\tconst obj = { time, ...rest };\n\t\tswitch (level) {\n\t\t\tcase \"trace\":\n\t\t\t\tthis.#pino.trace(obj, msg);\n\t\t\t\tbreak;\n\t\t\tcase \"debug\":\n\t\t\t\tthis.#pino.debug(obj, msg);\n\t\t\t\tbreak;\n\t\t\tcase \"info\":\n\t\t\t\tthis.#pino.info(obj, msg);\n\t\t\t\tbreak;\n\t\t\tcase \"warn\":\n\t\t\t\tthis.#pino.warn(obj, msg);\n\t\t\t\tbreak;\n\t\t\tcase \"error\":\n\t\t\t\tthis.#pino.error(obj, msg);\n\t\t\t\tbreak;\n\t\t\tcase \"fatal\":\n\t\t\t\tthis.#pino.fatal(obj, msg);\n\t\t\t\tbreak;\n\t\t}\n\t}\n}\n\n/** Pretty-print transport via pino-pretty (development). */\nexport class PrettyTransport implements LogTransport {\n\treadonly name = \"pretty\";\n\treadonly isDefault = true;\n\t#pino: PinoLike | null = null;\n\t#ready: Promise<void>;\n\n\tconstructor(level: LogLevel, base?: Record<string, unknown>) {\n\t\tthis.#ready = loadPino(true, level, base).then((p) => {\n\t\t\tthis.#pino = p;\n\t\t});\n\t}\n\n\tasync ready(): Promise<void> {\n\t\tawait this.#ready;\n\t}\n\n\twrite(record: LogRecord): void {\n\t\tif (!this.#pino) {\n\t\t\t// eslint-disable-next-line no-console\n\t\t\tconsole.log(`[${record.level}] ${record.msg}`, record);\n\t\t\treturn;\n\t\t}\n\t\tconst { level, time, msg, ...rest } = record;\n\t\tconst obj = { time, ...rest };\n\t\tswitch (level) {\n\t\t\tcase \"trace\":\n\t\t\t\tthis.#pino.trace(obj, msg);\n\t\t\t\tbreak;\n\t\t\tcase \"debug\":\n\t\t\t\tthis.#pino.debug(obj, msg);\n\t\t\t\tbreak;\n\t\t\tcase \"info\":\n\t\t\t\tthis.#pino.info(obj, msg);\n\t\t\t\tbreak;\n\t\t\tcase \"warn\":\n\t\t\t\tthis.#pino.warn(obj, msg);\n\t\t\t\tbreak;\n\t\t\tcase \"error\":\n\t\t\t\tthis.#pino.error(obj, msg);\n\t\t\t\tbreak;\n\t\t\tcase \"fatal\":\n\t\t\t\tthis.#pino.fatal(obj, msg);\n\t\t\t\tbreak;\n\t\t}\n\t}\n}\n\n/** Null transport — drops everything. For tests. */\nexport class NullTransport implements LogTransport {\n\treadonly name = \"null\";\n\treadonly isDefault = false;\n\twrite(_record: LogRecord): void {\n\t\t// discard\n\t}\n}\n",
|
|
7
7
|
"/**\n * `LoggerModule` — drop-in module for structured logging.\n *\n * Usage:\n * @Module({\n * imports: [\n * LoggerModule.forRoot({\n * level: 'info', // 'trace' | 'debug' | 'info' | 'warn' | 'error' | 'fatal'\n * pretty: process.env.NODE_ENV !== 'production',\n * base: { service: 'my-app' },\n * }),\n * ],\n * })\n * export class AppModule {}\n *\n * // any service\n * @Injectable()\n * class MyService {\n * constructor(@Inject(Logger.TOKEN) private logger: Logger) {}\n *\n * async handle() {\n * await this.logger.with({ requestId: 'r-1' }, async () => {\n * this.logger.info({ userId: 'u-1' }, 'processing');\n * });\n * }\n * }\n */\n\nimport \"reflect-metadata\";\nimport { Module } from \"@nexusts/core\";\nimport { Logger } from \"./logger.service.js\";\nimport type { LoggerOptions } from \"./types.js\";\n\n@Module({\n\tproviders: [Logger, { provide: Logger.TOKEN, useExisting: Logger }],\n\texports: [Logger, Logger.TOKEN],\n})\nexport class LoggerModule {\n\tstatic forRoot(options: LoggerOptions = {}) {\n\t\t@Module({\n\t\t\tproviders: [\n\t\t\t\tLogger,\n\t\t\t\t{ provide: Logger.TOKEN, useExisting: Logger },\n\t\t\t\t{ provide: \"LOGGER_OPTIONS\", useValue: options },\n\t\t\t],\n\t\t\texports: [Logger, Logger.TOKEN],\n\t\t})\n\t\tclass ConfiguredLoggerModule {}\n\n\t\tObject.defineProperty(ConfiguredLoggerModule, \"name\", {\n\t\t\tvalue: \"ConfiguredLoggerModule\",\n\t\t});\n\n\t\treturn ConfiguredLoggerModule;\n\t}\n}\n"
|
|
8
8
|
],
|
|
9
|
-
"mappings": "
|
|
10
|
-
"debugId": "
|
|
9
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAcA;AACA;;;ACQA,IAAI,gBAAiC;AACrC,IAAI,kBAAmC;AAEvC,eAAe,QAAQ,CACtB,QACA,OACA,MACoB;AAAA,EACpB,MAAM,UAAU,MAAa;AAAA,EAC7B,MAAM,OAAO,QAAQ,WAAW;AAAA,EAChC,IAAI,QAAQ;AAAA,IACX,IAAI;AAAA,MAAiB,OAAO;AAAA,IAE5B,MAAM,OAAY;AAAA,MACjB;AAAA,MACA;AAAA,MACA,UAAU;AAAA,MACV,eAAe;AAAA,MACf,QAAQ;AAAA,MACR,UAAU;AAAA,IACX;AAAA,IAEA,IAAI;AAAA,MAEH,MAAM,YACL,WACC,UAAU,aAAa;AAAA,MACzB,IAAI,WAAW;AAAA,QACd,kBAAmB,KAClB,IACD;AAAA,QACA,OAAO;AAAA,MACR;AAAA,MACC,MAAM;AAAA,IAGR,kBAAmB,KAAgD;AAAA,MAClE;AAAA,MACA;AAAA,MACA,WAAW,MAAM,YAAY,IAAI,KAAK,EAAE,YAAY;AAAA,IACrD,CAAC;AAAA,IACD,OAAO;AAAA,EACR;AAAA,EACA,IAAI;AAAA,IAAe,OAAO;AAAA,EAC1B,gBAAiB,KAAgD;AAAA,IAChE;AAAA,IACA;AAAA,IACA,WAAW,MAAM,YAAY,IAAI,KAAK,EAAE,YAAY;AAAA,EACrD,CAAC;AAAA,EACD,OAAO;AAAA;AAAA;AAID,MAAM,cAAsC;AAAA,EACzC,OAAO;AAAA,EACP,YAAY;AAAA,EACrB,QAAyB;AAAA,EACzB;AAAA,EAEA,WAAW,CAAC,OAAiB,MAAgC;AAAA,IAC5D,KAAK,SAAS,SAAS,OAAO,OAAO,IAAI,EAAE,KAAK,CAAC,MAAM;AAAA,MACtD,KAAK,QAAQ;AAAA,KACb;AAAA;AAAA,OAGI,MAAK,GAAkB;AAAA,IAC5B,MAAM,KAAK;AAAA;AAAA,EAGZ,KAAK,CAAC,QAAyB;AAAA,IAC9B,IAAI,CAAC,KAAK,OAAO;AAAA,MAEhB,QAAQ,IAAI,KAAK,UAAU,MAAM,CAAC;AAAA,MAClC;AAAA,IACD;AAAA,IACA,QAAQ,OAAO,MAAM,QAAQ,SAAS;AAAA,IACtC,MAAM,MAAM,EAAE,SAAS,KAAK;AAAA,IAC5B,QAAQ;AAAA,WACF;AAAA,QACJ,KAAK,MAAM,MAAM,KAAK,GAAG;AAAA,QACzB;AAAA,WACI;AAAA,QACJ,KAAK,MAAM,MAAM,KAAK,GAAG;AAAA,QACzB;AAAA,WACI;AAAA,QACJ,KAAK,MAAM,KAAK,KAAK,GAAG;AAAA,QACxB;AAAA,WACI;AAAA,QACJ,KAAK,MAAM,KAAK,KAAK,GAAG;AAAA,QACxB;AAAA,WACI;AAAA,QACJ,KAAK,MAAM,MAAM,KAAK,GAAG;AAAA,QACzB;AAAA,WACI;AAAA,QACJ,KAAK,MAAM,MAAM,KAAK,GAAG;AAAA,QACzB;AAAA;AAAA;AAGJ;AAAA;AAGO,MAAM,gBAAwC;AAAA,EAC3C,OAAO;AAAA,EACP,YAAY;AAAA,EACrB,QAAyB;AAAA,EACzB;AAAA,EAEA,WAAW,CAAC,OAAiB,MAAgC;AAAA,IAC5D,KAAK,SAAS,SAAS,MAAM,OAAO,IAAI,EAAE,KAAK,CAAC,MAAM;AAAA,MACrD,KAAK,QAAQ;AAAA,KACb;AAAA;AAAA,OAGI,MAAK,GAAkB;AAAA,IAC5B,MAAM,KAAK;AAAA;AAAA,EAGZ,KAAK,CAAC,QAAyB;AAAA,IAC9B,IAAI,CAAC,KAAK,OAAO;AAAA,MAEhB,QAAQ,IAAI,IAAI,OAAO,UAAU,OAAO,OAAO,MAAM;AAAA,MACrD;AAAA,IACD;AAAA,IACA,QAAQ,OAAO,MAAM,QAAQ,SAAS;AAAA,IACtC,MAAM,MAAM,EAAE,SAAS,KAAK;AAAA,IAC5B,QAAQ;AAAA,WACF;AAAA,QACJ,KAAK,MAAM,MAAM,KAAK,GAAG;AAAA,QACzB;AAAA,WACI;AAAA,QACJ,KAAK,MAAM,MAAM,KAAK,GAAG;AAAA,QACzB;AAAA,WACI;AAAA,QACJ,KAAK,MAAM,KAAK,KAAK,GAAG;AAAA,QACxB;AAAA,WACI;AAAA,QACJ,KAAK,MAAM,KAAK,KAAK,GAAG;AAAA,QACxB;AAAA,WACI;AAAA,QACJ,KAAK,MAAM,MAAM,KAAK,GAAG;AAAA,QACzB;AAAA,WACI;AAAA,QACJ,KAAK,MAAM,MAAM,KAAK,GAAG;AAAA,QACzB;AAAA;AAAA;AAGJ;AAAA;AAGO,MAAM,cAAsC;AAAA,EACzC,OAAO;AAAA,EACP,YAAY;AAAA,EACrB,KAAK,CAAC,SAA0B;AAGjC;;;ADzJA,IAAM,aAAuC;AAAA,EAC5C,OAAO;AAAA,EACP,OAAO;AAAA,EACP,MAAM;AAAA,EACN,MAAM;AAAA,EACN,OAAO;AAAA,EACP,OAAO;AACR;AAAA;AAGO,MAAM,OAAO;AAAA,SAEH,QAAQ,OAAO,IAAI,cAAc;AAAA,EAEjD;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,MAAM,IAAI;AAAA,EAEV,WAAW,CAA2B,UAAyB,CAAC,GAAG;AAAA,IAClE,KAAK,SAAS,QAAQ,UAAU;AAAA,IAChC,KAAK,OAAO,QAAQ,QAAQ,CAAC;AAAA,IAC7B,KAAK,QAAQ,QAAQ,UAAU,QAAQ,IAAI,gBAAgB,eAAe,SAAS;AAAA,IACnF,IAAI,QAAQ,cAAc,QAAQ,WAAW,SAAS,GAAG;AAAA,MACxD,KAAK,aAAa,QAAQ;AAAA,IAC3B,EAAO;AAAA,MACN,MAAM,SAAS,QAAQ,UAAU,QAAQ,IAAI,gBAAgB;AAAA,MAC7D,KAAK,aAAa;AAAA,QACjB,SACG,IAAI,gBAAgB,KAAK,OAAO,KAAK,IAAI,IACzC,IAAI,cAAc,KAAK,OAAO,KAAK,IAAI;AAAA,MAC3C;AAAA;AAAA;AAAA,EAUF,KAAK,CAAC,MAAwC,MAAqB;AAAA,IAClE,KAAK,KAAK,SAAS,MAAM,IAAI;AAAA;AAAA,EAK9B,KAAK,CAAC,MAAwC,MAAqB;AAAA,IAClE,KAAK,KAAK,SAAS,MAAM,IAAI;AAAA;AAAA,EAK9B,IAAI,CAAC,MAAwC,MAAqB;AAAA,IACjE,KAAK,KAAK,QAAQ,MAAM,IAAI;AAAA;AAAA,EAK7B,IAAI,CAAC,MAAwC,MAAqB;AAAA,IACjE,KAAK,KAAK,QAAQ,MAAM,IAAI;AAAA;AAAA,EAK7B,KAAK,CAAC,MAAwC,MAAqB;AAAA,IAClE,KAAK,KAAK,SAAS,MAAM,IAAI;AAAA;AAAA,EAK9B,KAAK,CAAC,MAAwC,MAAqB;AAAA,IAClE,KAAK,KAAK,SAAS,MAAM,IAAI;AAAA;AAAA,EAW9B,IAAO,CAAC,MAAkB,IAAgB;AAAA,IACzC,MAAM,OAAO,KAAK,IAAI,SAAS,KAAK,CAAC;AAAA,IACrC,MAAM,OAAmB,KAAK,SAAS,KAAK;AAAA,IAC5C,OAAO,KAAK,IAAI,IAAI,MAAM,EAAE;AAAA;AAAA,MAIzB,OAAO,GAAe;AAAA,IACzB,OAAO,KAAK,IAAI,SAAS,KAAK,CAAC;AAAA;AAAA,EAWhC,KAAK,CAAC,UAA2C;AAAA,IAChD,MAAM,QAAQ,OAAO,OAAO,OAAO,SAAS;AAAA,IAC5C,MAAM,aAAa,KAAK;AAAA,IACxB,MAAM,SAAS,KAAK;AAAA,IACpB,MAAM,OAAO,KAAK,KAAK,SAAS,SAAS;AAAA,IACzC,MAAM,QAAQ,KAAK;AAAA,IACnB,MAAM,MAAM,KAAK;AAAA,IACjB,OAAO;AAAA;AAAA,OAQF,MAAK,GAAkB;AAAA,IAC5B,WAAW,KAAK,KAAK,YAAY;AAAA,MAChC,MAAM,IAAK,EAAsC;AAAA,MACjD,IAAI;AAAA,QAAG,MAAM,EAAE,KAAK,CAAC;AAAA,IACtB;AAAA;AAAA,EAOO,IAAI,CAAC,OAAiB,MAAwC,MAAqB;AAAA,IAC1F,IAAI,KAAK;AAAA,MAAQ;AAAA,IACjB,IAAI,WAAW,SAAS,WAAW,KAAK;AAAA,MAAQ;AAAA,IAEhD,IAAI,OAAgC,CAAC;AAAA,IACrC,IAAI;AAAA,IACJ,IAAI,OAAO,SAAS,UAAU;AAAA,MAC7B,MAAM;AAAA,IACP,EAAO;AAAA,MACN,OAAO;AAAA,MACP,MAAM,QAAQ;AAAA;AAAA,IAGf,MAAM,MAAM,KAAK,IAAI,SAAS,KAAK,CAAC;AAAA,IACpC,MAAM,SAAoB;AAAA,MACzB;AAAA,MACA,MAAM,KAAK,IAAI;AAAA,MACf;AAAA,SACG,KAAK;AAAA,SACL;AAAA,SACA;AAAA,IACJ;AAAA,IACA,WAAW,KAAK,KAAK,YAAY;AAAA,MAChC,IAAI;AAAA,QACH,EAAE,MAAM,MAAM;AAAA,QACb,MAAM;AAAA,IAGT;AAAA;AAEF;AArJa,SAAN;AAAA,EADN,WAAW;AAAA,EAWE,kCAAO,gBAAgB;AAAA,EAV9B;AAAA;AAAA;AAAA,GAAM;;AEPb;AACA;AAQO,MAAM,aAAa;AAAA,SAClB,OAAO,CAAC,UAAyB,CAAC,GAAG;AAAA,IAS3C,MAAM,uBAAuB;AAAA,IAAC;AAAA,IAAxB,yBAAN;AAAA,MARC,OAAO;AAAA,QACP,WAAW;AAAA,UACV;AAAA,UACA,EAAE,SAAS,OAAO,OAAO,aAAa,OAAO;AAAA,UAC7C,EAAE,SAAS,kBAAkB,UAAU,QAAQ;AAAA,QAChD;AAAA,QACA,SAAS,CAAC,QAAQ,OAAO,KAAK;AAAA,MAC/B,CAAC;AAAA,OACK;AAAA,IAEN,OAAO,eAAe,wBAAwB,QAAQ;AAAA,MACrD,OAAO;AAAA,IACR,CAAC;AAAA,IAED,OAAO;AAAA;AAET;AAlBa,eAAN;AAAA,EAJN,OAAO;AAAA,IACP,WAAW,CAAC,QAAQ,EAAE,SAAS,OAAO,OAAO,aAAa,OAAO,CAAC;AAAA,IAClE,SAAS,CAAC,QAAQ,OAAO,KAAK;AAAA,EAC/B,CAAC;AAAA,GACY;",
|
|
10
|
+
"debugId": "0B12737CF0E588BF64756E2164756E21",
|
|
11
11
|
"names": []
|
|
12
12
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@nexusts/logger",
|
|
3
|
-
"version": "0.7.
|
|
3
|
+
"version": "0.7.3",
|
|
4
4
|
"description": "Pino-backed structured logging",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/index.js",
|
|
@@ -26,6 +26,6 @@
|
|
|
26
26
|
],
|
|
27
27
|
"license": "MIT",
|
|
28
28
|
"dependencies": {
|
|
29
|
-
"@nexusts/core": "^0.7.
|
|
29
|
+
"@nexusts/core": "^0.7.3"
|
|
30
30
|
}
|
|
31
31
|
}
|