@contember/logger 2.1.0-rc.3 → 2.2.0-alpha.10
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/development/index.cjs +1 -0
- package/dist/development/index.cjs.map +1 -1
- package/dist/development/index.js +2 -1
- package/dist/development/src/formatting.cjs.map +1 -1
- package/dist/development/src/formatting.js.map +1 -1
- package/dist/development/src/handlers/FingerCrossedLoggerHandler.cjs.map +1 -1
- package/dist/development/src/handlers/FingerCrossedLoggerHandler.js.map +1 -1
- package/dist/development/src/handlers/JsonStreamLoggerHandler.cjs.map +1 -1
- package/dist/development/src/handlers/JsonStreamLoggerHandler.js.map +1 -1
- package/dist/development/src/handlers/LoggerHandlerList.cjs.map +1 -1
- package/dist/development/src/handlers/LoggerHandlerList.js.map +1 -1
- package/dist/development/src/handlers/NullLoggerHandler.cjs.map +1 -1
- package/dist/development/src/handlers/NullLoggerHandler.js.map +1 -1
- package/dist/development/src/handlers/PrettyPrintLoggerHandler.cjs.map +1 -1
- package/dist/development/src/handlers/PrettyPrintLoggerHandler.js.map +1 -1
- package/dist/development/src/handlers/TestLoggerHandler.cjs.map +1 -1
- package/dist/development/src/handlers/TestLoggerHandler.js.map +1 -1
- package/dist/development/src/impl.cjs.map +1 -1
- package/dist/development/src/impl.js.map +1 -1
- package/dist/development/src/levels.cjs.map +1 -1
- package/dist/development/src/levels.js.map +1 -1
- package/dist/development/src/proxy.cjs +2 -0
- package/dist/development/src/proxy.cjs.map +1 -1
- package/dist/development/src/proxy.js +2 -0
- package/dist/development/src/proxy.js.map +1 -1
- package/dist/production/index.cjs +1 -0
- package/dist/production/index.cjs.map +1 -1
- package/dist/production/index.js +2 -1
- package/dist/production/src/formatting.cjs.map +1 -1
- package/dist/production/src/formatting.js.map +1 -1
- package/dist/production/src/handlers/FingerCrossedLoggerHandler.cjs.map +1 -1
- package/dist/production/src/handlers/FingerCrossedLoggerHandler.js.map +1 -1
- package/dist/production/src/handlers/JsonStreamLoggerHandler.cjs.map +1 -1
- package/dist/production/src/handlers/JsonStreamLoggerHandler.js.map +1 -1
- package/dist/production/src/handlers/LoggerHandlerList.cjs.map +1 -1
- package/dist/production/src/handlers/LoggerHandlerList.js.map +1 -1
- package/dist/production/src/handlers/NullLoggerHandler.cjs.map +1 -1
- package/dist/production/src/handlers/NullLoggerHandler.js.map +1 -1
- package/dist/production/src/handlers/PrettyPrintLoggerHandler.cjs.map +1 -1
- package/dist/production/src/handlers/PrettyPrintLoggerHandler.js.map +1 -1
- package/dist/production/src/handlers/TestLoggerHandler.cjs.map +1 -1
- package/dist/production/src/handlers/TestLoggerHandler.js.map +1 -1
- package/dist/production/src/impl.cjs.map +1 -1
- package/dist/production/src/impl.js.map +1 -1
- package/dist/production/src/levels.cjs.map +1 -1
- package/dist/production/src/levels.js.map +1 -1
- package/dist/production/src/proxy.cjs +2 -0
- package/dist/production/src/proxy.cjs.map +1 -1
- package/dist/production/src/proxy.js +2 -0
- package/dist/production/src/proxy.js.map +1 -1
- package/dist/types/formatting.d.ts +1 -1
- package/dist/types/formatting.d.ts.map +1 -1
- package/dist/types/handlers/FingerCrossedLoggerHandler.d.ts +1 -1
- package/dist/types/handlers/FingerCrossedLoggerHandler.d.ts.map +1 -1
- package/dist/types/handlers/JsonStreamLoggerHandler.d.ts +1 -1
- package/dist/types/handlers/JsonStreamLoggerHandler.d.ts.map +1 -1
- package/dist/types/handlers/LoggerHandlerList.d.ts +1 -1
- package/dist/types/handlers/LoggerHandlerList.d.ts.map +1 -1
- package/dist/types/handlers/NullLoggerHandler.d.ts +1 -1
- package/dist/types/handlers/NullLoggerHandler.d.ts.map +1 -1
- package/dist/types/handlers/PrettyPrintLoggerHandler.d.ts +1 -1
- package/dist/types/handlers/PrettyPrintLoggerHandler.d.ts.map +1 -1
- package/dist/types/handlers/TestLoggerHandler.d.ts +1 -1
- package/dist/types/handlers/TestLoggerHandler.d.ts.map +1 -1
- package/dist/types/impl.d.ts +1 -1
- package/dist/types/impl.d.ts.map +1 -1
- package/dist/types/index.d.ts +10 -10
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/levels.d.ts +1 -1
- package/dist/types/levels.d.ts.map +1 -1
- package/dist/types/proxy.d.ts +2 -1
- package/dist/types/proxy.d.ts.map +1 -1
- package/dist/types/tsconfig.tsbuildinfo +1 -1
- package/dist/types/types.d.ts +1 -1
- package/dist/types/types.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/formatting.ts +1 -1
- package/src/handlers/FingerCrossedLoggerHandler.ts +2 -2
- package/src/handlers/JsonStreamLoggerHandler.ts +2 -2
- package/src/handlers/LoggerHandlerList.ts +1 -1
- package/src/handlers/NullLoggerHandler.ts +1 -1
- package/src/handlers/PrettyPrintLoggerHandler.ts +2 -2
- package/src/handlers/TestLoggerHandler.ts +1 -1
- package/src/impl.ts +5 -5
- package/src/index.ts +10 -10
- package/src/levels.ts +1 -1
- package/src/proxy.ts +3 -1
- package/src/types.ts +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NullLoggerHandler.cjs","sources":["../../../../../packages/logger/src/handlers/NullLoggerHandler.ts"],"sourcesContent":["import { LoggerHandler } from '../types'\n\nexport class NullLoggerHandler implements LoggerHandler {\n\tclose(): void {\n\t}\n\n\tgetMinLevel(): number {\n\t\treturn Number.POSITIVE_INFINITY\n\t}\n\n\thandle(): void {\n\t}\n}\n"],"names":[],"mappings":";;AAEO,MAAM,kBAA2C;AAAA,EACvD,QAAc;AAAA,EACd;AAAA,EAEA,cAAsB;AACrB,WAAO,OAAO;AAAA,EACf;AAAA,EAEA,SAAe;AAAA,EACf;AACD;;"}
|
|
1
|
+
{"version":3,"file":"NullLoggerHandler.cjs","sources":["../../../../../packages/logger/src/handlers/NullLoggerHandler.ts"],"sourcesContent":["import { LoggerHandler } from '../types.js'\n\nexport class NullLoggerHandler implements LoggerHandler {\n\tclose(): void {\n\t}\n\n\tgetMinLevel(): number {\n\t\treturn Number.POSITIVE_INFINITY\n\t}\n\n\thandle(): void {\n\t}\n}\n"],"names":[],"mappings":";;AAEO,MAAM,kBAA2C;AAAA,EACvD,QAAc;AAAA,EACd;AAAA,EAEA,cAAsB;AACrB,WAAO,OAAO;AAAA,EACf;AAAA,EAEA,SAAe;AAAA,EACf;AACD;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NullLoggerHandler.js","sources":["../../../../../packages/logger/src/handlers/NullLoggerHandler.ts"],"sourcesContent":["import { LoggerHandler } from '../types'\n\nexport class NullLoggerHandler implements LoggerHandler {\n\tclose(): void {\n\t}\n\n\tgetMinLevel(): number {\n\t\treturn Number.POSITIVE_INFINITY\n\t}\n\n\thandle(): void {\n\t}\n}\n"],"names":[],"mappings":"AAEO,MAAM,kBAA2C;AAAA,EACvD,QAAc;AAAA,EACd;AAAA,EAEA,cAAsB;AACrB,WAAO,OAAO;AAAA,EACf;AAAA,EAEA,SAAe;AAAA,EACf;AACD;"}
|
|
1
|
+
{"version":3,"file":"NullLoggerHandler.js","sources":["../../../../../packages/logger/src/handlers/NullLoggerHandler.ts"],"sourcesContent":["import { LoggerHandler } from '../types.js'\n\nexport class NullLoggerHandler implements LoggerHandler {\n\tclose(): void {\n\t}\n\n\tgetMinLevel(): number {\n\t\treturn Number.POSITIVE_INFINITY\n\t}\n\n\thandle(): void {\n\t}\n}\n"],"names":[],"mappings":"AAEO,MAAM,kBAA2C;AAAA,EACvD,QAAc;AAAA,EACd;AAAA,EAEA,cAAsB;AACrB,WAAO,OAAO;AAAA,EACf;AAAA,EAEA,SAAe;AAAA,EACf;AACD;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PrettyPrintLoggerHandler.cjs","sources":["../../../../../packages/logger/src/handlers/PrettyPrintLoggerHandler.ts"],"sourcesContent":["import chalk from 'chalk'\nimport { inspect } from 'node:util'\nimport { LogEntry, LoggerAttributes, LoggerHandler, LogLevel } from '../types'\nimport { LogLevels } from '../levels'\n\nexport interface PrettyPrintLoggerHandlerOptions {\n\tlogLevel: LogLevel\n\tformatters: {\n\t\t[key: string]: (\n\t\t\targs: { value: any; formattedValue: string; key: string; chalk: typeof chalk; attributes: LoggerAttributes },\n\t\t) => undefined | string | { line: string }\n\t}\n}\n\nexport class PrettyPrintLoggerHandler implements LoggerHandler {\n\tprivate readonly options: PrettyPrintLoggerHandlerOptions\n\n\tconstructor(\n\t\tprivate readonly stream: NodeJS.WritableStream,\n\t\toptions: Partial<PrettyPrintLoggerHandlerOptions> = {},\n\t) {\n\t\tthis.options = {\n\t\t\tlogLevel: LogLevels.debug,\n\t\t\tformatters: {},\n\t\t\t...options,\n\t\t}\n\t}\n\n\tgetMinLevel(): number {\n\t\treturn this.options.logLevel.value\n\t}\n\n\thandle(entry: LogEntry) {\n\t\tif (entry.level.value < this.options.logLevel.value) {\n\t\t\treturn\n\t\t}\n\t\tconst startLength = entry.isoTime.length + 7\n\n\t\tthis.stream.write(`${this.formatTime(entry.isoTime)} ${this.formatLevel(entry.level)} `)\n\n\t\tconst indent = ' '.repeat(startLength)\n\t\tthis.stream.write(`${entry.message.replaceAll(/\\n/g, '\\n' + indent)}\\n`)\n\t\tconst allAttributes = { ...entry.loggerAttributes, ...entry.ownAttributes }\n\t\tfor (const key in allAttributes) {\n\t\t\tconst value = allAttributes[key]\n\t\t\tif (typeof key !== 'string' || value === undefined) {\n\t\t\t\tcontinue\n\t\t\t}\n\t\t\tconst formattedValue = inspect(value, {\n\t\t\t\tdepth: 5,\n\t\t\t}).replaceAll(/\\n/g, '\\n' + indent)\n\t\t\tconst formattedValue2 = this.options.formatters[key]\n\t\t\t\t? (this.options.formatters[key]({ value, key, formattedValue, chalk, attributes: allAttributes }))\n\t\t\t\t: formattedValue\n\t\t\tif (formattedValue2 === undefined) {\n\t\t\t\tcontinue\n\t\t\t}\n\t\t\tif (typeof formattedValue2 === 'string') {\n\t\t\t\tthis.stream.write(indent + chalk.dim(`${key}: ${formattedValue2}\\n`))\n\t\t\t} else {\n\t\t\t\tthis.stream.write(indent + formattedValue2.line + '\\n')\n\t\t\t}\n\t\t}\n\t\tif (entry.error) {\n\t\t\tthis.stream.write(inspect(entry.error).replaceAll(/^/gm, indent) + '\\n')\n\t\t}\n\t}\n\n\tprivate formatTime(date: string): string {\n\t\tconst result = date.match(/^([0-9-]+)T([0-9:]+)\\.(\\d+)Z$/)\n\t\tif (!result) {\n\t\t\treturn date\n\t\t}\n\t\treturn chalk.dim(result[1] + 'T') + result[2] + chalk.dim('.' + result[3] + 'Z')\n\t}\n\n\tprivate formatLevel(level: LogLevel): string {\n\t\tconst levelText = `${level.name}${' '.repeat(5 - level.name.length)}`\n\t\tlet color = chalk\n\t\tif (level.value <= 10) {\n\t\t\tcolor = color.dim\n\t\t} else if (level.value <= 20) {\n\t\t\t// nothing\n\t\t} else if (level.value <= 30) {\n\t\t\tcolor = color.yellowBright\n\t\t} else {\n\t\t\tcolor = color.redBright\n\t\t}\n\t\treturn color(levelText)\n\t}\n\n\tclose(): void {\n\t}\n}\n"],"names":["LogLevels","inspect"],"mappings":";;;;;;;;AAcO,MAAM,yBAAkD;AAAA,EAG9D,YACkB,QACjB,UAAoD,IACnD;AAFgB,SAAA,SAAA;AAHlB,kBAAA,MAAiB,SAAA;AAMhB,SAAK,UAAU;AAAA,MACd,UAAUA,OAAAA,UAAU;AAAA,MACpB,YAAY,CAAA;AAAA,MACZ,GAAG;AAAA,IAAA;AAAA,EAEL;AAAA,EAEA,cAAsB;AACrB,WAAO,KAAK,QAAQ,SAAS;AAAA,EAC9B;AAAA,EAEA,OAAO,OAAiB;AACvB,QAAI,MAAM,MAAM,QAAQ,KAAK,QAAQ,SAAS,OAAO;AACpD;AAAA,IACD;AACA,UAAM,cAAc,MAAM,QAAQ,SAAS;AAE3C,SAAK,OAAO,MAAM,GAAG,KAAK,WAAW,MAAM,OAAO,CAAC,IAAI,KAAK,YAAY,MAAM,KAAK,CAAC,GAAG;AAEvF,UAAM,SAAS,IAAI,OAAO,WAAW;AACrC,SAAK,OAAO,MAAM,GAAG,MAAM,QAAQ,WAAW,OAAO,OAAO,MAAM,CAAC;AAAA,CAAI;AACvE,UAAM,gBAAgB,EAAE,GAAG,MAAM,kBAAkB,GAAG,MAAM,cAAA;AAC5D,eAAW,OAAO,eAAe;AAChC,YAAM,QAAQ,cAAc,GAAG;AAC/B,UAAI,OAAO,QAAQ,YAAY,UAAU,QAAW;AACnD;AAAA,MACD;AACA,YAAM,iBAAiBC,UAAAA,QAAQ,OAAO;AAAA,QACrC,OAAO;AAAA,MAAA,CACP,EAAE,WAAW,OAAO,OAAO,MAAM;AAClC,YAAM,kBAAkB,KAAK,QAAQ,WAAW,GAAG,IAC/C,KAAK,QAAQ,WAAW,GAAG,EAAE,EAAE,OAAO,KAAK,gBAAgB,OAAO,YAAY,cAAA,CAAe,IAC9F;AACH,UAAI,oBAAoB,QAAW;AAClC;AAAA,MACD;AACA,UAAI,OAAO,oBAAoB,UAAU;AACxC,aAAK,OAAO,MAAM,SAAS,MAAM,IAAI,GAAG,GAAG,KAAK,eAAe;AAAA,CAAI,CAAC;AAAA,MACrE,OAAO;AACN,aAAK,OAAO,MAAM,SAAS,gBAAgB,OAAO,IAAI;AAAA,MACvD;AAAA,IACD;AACA,QAAI,MAAM,OAAO;AAChB,WAAK,OAAO,MAAMA,UAAAA,QAAQ,MAAM,KAAK,EAAE,WAAW,OAAO,MAAM,IAAI,IAAI;AAAA,IACxE;AAAA,EACD;AAAA,EAEQ,WAAW,MAAsB;AACxC,UAAM,SAAS,KAAK,MAAM,+BAA+B;AACzD,QAAI,CAAC,QAAQ;AACZ,aAAO;AAAA,IACR;AACA,WAAO,MAAM,IAAI,OAAO,CAAC,IAAI,GAAG,IAAI,OAAO,CAAC,IAAI,MAAM,IAAI,MAAM,OAAO,CAAC,IAAI,GAAG;AAAA,EAChF;AAAA,EAEQ,YAAY,OAAyB;AAC5C,UAAM,YAAY,GAAG,MAAM,IAAI,GAAG,IAAI,OAAO,IAAI,MAAM,KAAK,MAAM,CAAC;AACnE,QAAI,QAAQ;AACZ,QAAI,MAAM,SAAS,IAAI;AACtB,cAAQ,MAAM;AAAA,IACf,WAAW,MAAM,SAAS,GAAI;AAAA,aAEnB,MAAM,SAAS,IAAI;AAC7B,cAAQ,MAAM;AAAA,IACf,OAAO;AACN,cAAQ,MAAM;AAAA,IACf;AACA,WAAO,MAAM,SAAS;AAAA,EACvB;AAAA,EAEA,QAAc;AAAA,EACd;AACD;;"}
|
|
1
|
+
{"version":3,"file":"PrettyPrintLoggerHandler.cjs","sources":["../../../../../packages/logger/src/handlers/PrettyPrintLoggerHandler.ts"],"sourcesContent":["import chalk from 'chalk'\nimport { inspect } from 'node:util'\nimport { LogEntry, LoggerAttributes, LoggerHandler, LogLevel } from '../types.js'\nimport { LogLevels } from '../levels.js'\n\nexport interface PrettyPrintLoggerHandlerOptions {\n\tlogLevel: LogLevel\n\tformatters: {\n\t\t[key: string]: (\n\t\t\targs: { value: any; formattedValue: string; key: string; chalk: typeof chalk; attributes: LoggerAttributes },\n\t\t) => undefined | string | { line: string }\n\t}\n}\n\nexport class PrettyPrintLoggerHandler implements LoggerHandler {\n\tprivate readonly options: PrettyPrintLoggerHandlerOptions\n\n\tconstructor(\n\t\tprivate readonly stream: NodeJS.WritableStream,\n\t\toptions: Partial<PrettyPrintLoggerHandlerOptions> = {},\n\t) {\n\t\tthis.options = {\n\t\t\tlogLevel: LogLevels.debug,\n\t\t\tformatters: {},\n\t\t\t...options,\n\t\t}\n\t}\n\n\tgetMinLevel(): number {\n\t\treturn this.options.logLevel.value\n\t}\n\n\thandle(entry: LogEntry) {\n\t\tif (entry.level.value < this.options.logLevel.value) {\n\t\t\treturn\n\t\t}\n\t\tconst startLength = entry.isoTime.length + 7\n\n\t\tthis.stream.write(`${this.formatTime(entry.isoTime)} ${this.formatLevel(entry.level)} `)\n\n\t\tconst indent = ' '.repeat(startLength)\n\t\tthis.stream.write(`${entry.message.replaceAll(/\\n/g, '\\n' + indent)}\\n`)\n\t\tconst allAttributes = { ...entry.loggerAttributes, ...entry.ownAttributes }\n\t\tfor (const key in allAttributes) {\n\t\t\tconst value = allAttributes[key]\n\t\t\tif (typeof key !== 'string' || value === undefined) {\n\t\t\t\tcontinue\n\t\t\t}\n\t\t\tconst formattedValue = inspect(value, {\n\t\t\t\tdepth: 5,\n\t\t\t}).replaceAll(/\\n/g, '\\n' + indent)\n\t\t\tconst formattedValue2 = this.options.formatters[key]\n\t\t\t\t? (this.options.formatters[key]({ value, key, formattedValue, chalk, attributes: allAttributes }))\n\t\t\t\t: formattedValue\n\t\t\tif (formattedValue2 === undefined) {\n\t\t\t\tcontinue\n\t\t\t}\n\t\t\tif (typeof formattedValue2 === 'string') {\n\t\t\t\tthis.stream.write(indent + chalk.dim(`${key}: ${formattedValue2}\\n`))\n\t\t\t} else {\n\t\t\t\tthis.stream.write(indent + formattedValue2.line + '\\n')\n\t\t\t}\n\t\t}\n\t\tif (entry.error) {\n\t\t\tthis.stream.write(inspect(entry.error).replaceAll(/^/gm, indent) + '\\n')\n\t\t}\n\t}\n\n\tprivate formatTime(date: string): string {\n\t\tconst result = date.match(/^([0-9-]+)T([0-9:]+)\\.(\\d+)Z$/)\n\t\tif (!result) {\n\t\t\treturn date\n\t\t}\n\t\treturn chalk.dim(result[1] + 'T') + result[2] + chalk.dim('.' + result[3] + 'Z')\n\t}\n\n\tprivate formatLevel(level: LogLevel): string {\n\t\tconst levelText = `${level.name}${' '.repeat(5 - level.name.length)}`\n\t\tlet color = chalk\n\t\tif (level.value <= 10) {\n\t\t\tcolor = color.dim\n\t\t} else if (level.value <= 20) {\n\t\t\t// nothing\n\t\t} else if (level.value <= 30) {\n\t\t\tcolor = color.yellowBright\n\t\t} else {\n\t\t\tcolor = color.redBright\n\t\t}\n\t\treturn color(levelText)\n\t}\n\n\tclose(): void {\n\t}\n}\n"],"names":["LogLevels","inspect"],"mappings":";;;;;;;;AAcO,MAAM,yBAAkD;AAAA,EAG9D,YACkB,QACjB,UAAoD,IACnD;AAFgB,SAAA,SAAA;AAHlB,kBAAA,MAAiB,SAAA;AAMhB,SAAK,UAAU;AAAA,MACd,UAAUA,OAAAA,UAAU;AAAA,MACpB,YAAY,CAAA;AAAA,MACZ,GAAG;AAAA,IAAA;AAAA,EAEL;AAAA,EAEA,cAAsB;AACrB,WAAO,KAAK,QAAQ,SAAS;AAAA,EAC9B;AAAA,EAEA,OAAO,OAAiB;AACvB,QAAI,MAAM,MAAM,QAAQ,KAAK,QAAQ,SAAS,OAAO;AACpD;AAAA,IACD;AACA,UAAM,cAAc,MAAM,QAAQ,SAAS;AAE3C,SAAK,OAAO,MAAM,GAAG,KAAK,WAAW,MAAM,OAAO,CAAC,IAAI,KAAK,YAAY,MAAM,KAAK,CAAC,GAAG;AAEvF,UAAM,SAAS,IAAI,OAAO,WAAW;AACrC,SAAK,OAAO,MAAM,GAAG,MAAM,QAAQ,WAAW,OAAO,OAAO,MAAM,CAAC;AAAA,CAAI;AACvE,UAAM,gBAAgB,EAAE,GAAG,MAAM,kBAAkB,GAAG,MAAM,cAAA;AAC5D,eAAW,OAAO,eAAe;AAChC,YAAM,QAAQ,cAAc,GAAG;AAC/B,UAAI,OAAO,QAAQ,YAAY,UAAU,QAAW;AACnD;AAAA,MACD;AACA,YAAM,iBAAiBC,UAAAA,QAAQ,OAAO;AAAA,QACrC,OAAO;AAAA,MAAA,CACP,EAAE,WAAW,OAAO,OAAO,MAAM;AAClC,YAAM,kBAAkB,KAAK,QAAQ,WAAW,GAAG,IAC/C,KAAK,QAAQ,WAAW,GAAG,EAAE,EAAE,OAAO,KAAK,gBAAgB,OAAO,YAAY,cAAA,CAAe,IAC9F;AACH,UAAI,oBAAoB,QAAW;AAClC;AAAA,MACD;AACA,UAAI,OAAO,oBAAoB,UAAU;AACxC,aAAK,OAAO,MAAM,SAAS,MAAM,IAAI,GAAG,GAAG,KAAK,eAAe;AAAA,CAAI,CAAC;AAAA,MACrE,OAAO;AACN,aAAK,OAAO,MAAM,SAAS,gBAAgB,OAAO,IAAI;AAAA,MACvD;AAAA,IACD;AACA,QAAI,MAAM,OAAO;AAChB,WAAK,OAAO,MAAMA,UAAAA,QAAQ,MAAM,KAAK,EAAE,WAAW,OAAO,MAAM,IAAI,IAAI;AAAA,IACxE;AAAA,EACD;AAAA,EAEQ,WAAW,MAAsB;AACxC,UAAM,SAAS,KAAK,MAAM,+BAA+B;AACzD,QAAI,CAAC,QAAQ;AACZ,aAAO;AAAA,IACR;AACA,WAAO,MAAM,IAAI,OAAO,CAAC,IAAI,GAAG,IAAI,OAAO,CAAC,IAAI,MAAM,IAAI,MAAM,OAAO,CAAC,IAAI,GAAG;AAAA,EAChF;AAAA,EAEQ,YAAY,OAAyB;AAC5C,UAAM,YAAY,GAAG,MAAM,IAAI,GAAG,IAAI,OAAO,IAAI,MAAM,KAAK,MAAM,CAAC;AACnE,QAAI,QAAQ;AACZ,QAAI,MAAM,SAAS,IAAI;AACtB,cAAQ,MAAM;AAAA,IACf,WAAW,MAAM,SAAS,GAAI;AAAA,aAEnB,MAAM,SAAS,IAAI;AAC7B,cAAQ,MAAM;AAAA,IACf,OAAO;AACN,cAAQ,MAAM;AAAA,IACf;AACA,WAAO,MAAM,SAAS;AAAA,EACvB;AAAA,EAEA,QAAc;AAAA,EACd;AACD;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PrettyPrintLoggerHandler.js","sources":["../../../../../packages/logger/src/handlers/PrettyPrintLoggerHandler.ts"],"sourcesContent":["import chalk from 'chalk'\nimport { inspect } from 'node:util'\nimport { LogEntry, LoggerAttributes, LoggerHandler, LogLevel } from '../types'\nimport { LogLevels } from '../levels'\n\nexport interface PrettyPrintLoggerHandlerOptions {\n\tlogLevel: LogLevel\n\tformatters: {\n\t\t[key: string]: (\n\t\t\targs: { value: any; formattedValue: string; key: string; chalk: typeof chalk; attributes: LoggerAttributes },\n\t\t) => undefined | string | { line: string }\n\t}\n}\n\nexport class PrettyPrintLoggerHandler implements LoggerHandler {\n\tprivate readonly options: PrettyPrintLoggerHandlerOptions\n\n\tconstructor(\n\t\tprivate readonly stream: NodeJS.WritableStream,\n\t\toptions: Partial<PrettyPrintLoggerHandlerOptions> = {},\n\t) {\n\t\tthis.options = {\n\t\t\tlogLevel: LogLevels.debug,\n\t\t\tformatters: {},\n\t\t\t...options,\n\t\t}\n\t}\n\n\tgetMinLevel(): number {\n\t\treturn this.options.logLevel.value\n\t}\n\n\thandle(entry: LogEntry) {\n\t\tif (entry.level.value < this.options.logLevel.value) {\n\t\t\treturn\n\t\t}\n\t\tconst startLength = entry.isoTime.length + 7\n\n\t\tthis.stream.write(`${this.formatTime(entry.isoTime)} ${this.formatLevel(entry.level)} `)\n\n\t\tconst indent = ' '.repeat(startLength)\n\t\tthis.stream.write(`${entry.message.replaceAll(/\\n/g, '\\n' + indent)}\\n`)\n\t\tconst allAttributes = { ...entry.loggerAttributes, ...entry.ownAttributes }\n\t\tfor (const key in allAttributes) {\n\t\t\tconst value = allAttributes[key]\n\t\t\tif (typeof key !== 'string' || value === undefined) {\n\t\t\t\tcontinue\n\t\t\t}\n\t\t\tconst formattedValue = inspect(value, {\n\t\t\t\tdepth: 5,\n\t\t\t}).replaceAll(/\\n/g, '\\n' + indent)\n\t\t\tconst formattedValue2 = this.options.formatters[key]\n\t\t\t\t? (this.options.formatters[key]({ value, key, formattedValue, chalk, attributes: allAttributes }))\n\t\t\t\t: formattedValue\n\t\t\tif (formattedValue2 === undefined) {\n\t\t\t\tcontinue\n\t\t\t}\n\t\t\tif (typeof formattedValue2 === 'string') {\n\t\t\t\tthis.stream.write(indent + chalk.dim(`${key}: ${formattedValue2}\\n`))\n\t\t\t} else {\n\t\t\t\tthis.stream.write(indent + formattedValue2.line + '\\n')\n\t\t\t}\n\t\t}\n\t\tif (entry.error) {\n\t\t\tthis.stream.write(inspect(entry.error).replaceAll(/^/gm, indent) + '\\n')\n\t\t}\n\t}\n\n\tprivate formatTime(date: string): string {\n\t\tconst result = date.match(/^([0-9-]+)T([0-9:]+)\\.(\\d+)Z$/)\n\t\tif (!result) {\n\t\t\treturn date\n\t\t}\n\t\treturn chalk.dim(result[1] + 'T') + result[2] + chalk.dim('.' + result[3] + 'Z')\n\t}\n\n\tprivate formatLevel(level: LogLevel): string {\n\t\tconst levelText = `${level.name}${' '.repeat(5 - level.name.length)}`\n\t\tlet color = chalk\n\t\tif (level.value <= 10) {\n\t\t\tcolor = color.dim\n\t\t} else if (level.value <= 20) {\n\t\t\t// nothing\n\t\t} else if (level.value <= 30) {\n\t\t\tcolor = color.yellowBright\n\t\t} else {\n\t\t\tcolor = color.redBright\n\t\t}\n\t\treturn color(levelText)\n\t}\n\n\tclose(): void {\n\t}\n}\n"],"names":[],"mappings":";;;;;;AAcO,MAAM,yBAAkD;AAAA,EAG9D,YACkB,QACjB,UAAoD,IACnD;AAFgB,SAAA,SAAA;AAHlB,kBAAA,MAAiB,SAAA;AAMhB,SAAK,UAAU;AAAA,MACd,UAAU,UAAU;AAAA,MACpB,YAAY,CAAA;AAAA,MACZ,GAAG;AAAA,IAAA;AAAA,EAEL;AAAA,EAEA,cAAsB;AACrB,WAAO,KAAK,QAAQ,SAAS;AAAA,EAC9B;AAAA,EAEA,OAAO,OAAiB;AACvB,QAAI,MAAM,MAAM,QAAQ,KAAK,QAAQ,SAAS,OAAO;AACpD;AAAA,IACD;AACA,UAAM,cAAc,MAAM,QAAQ,SAAS;AAE3C,SAAK,OAAO,MAAM,GAAG,KAAK,WAAW,MAAM,OAAO,CAAC,IAAI,KAAK,YAAY,MAAM,KAAK,CAAC,GAAG;AAEvF,UAAM,SAAS,IAAI,OAAO,WAAW;AACrC,SAAK,OAAO,MAAM,GAAG,MAAM,QAAQ,WAAW,OAAO,OAAO,MAAM,CAAC;AAAA,CAAI;AACvE,UAAM,gBAAgB,EAAE,GAAG,MAAM,kBAAkB,GAAG,MAAM,cAAA;AAC5D,eAAW,OAAO,eAAe;AAChC,YAAM,QAAQ,cAAc,GAAG;AAC/B,UAAI,OAAO,QAAQ,YAAY,UAAU,QAAW;AACnD;AAAA,MACD;AACA,YAAM,iBAAiB,QAAQ,OAAO;AAAA,QACrC,OAAO;AAAA,MAAA,CACP,EAAE,WAAW,OAAO,OAAO,MAAM;AAClC,YAAM,kBAAkB,KAAK,QAAQ,WAAW,GAAG,IAC/C,KAAK,QAAQ,WAAW,GAAG,EAAE,EAAE,OAAO,KAAK,gBAAgB,OAAO,YAAY,cAAA,CAAe,IAC9F;AACH,UAAI,oBAAoB,QAAW;AAClC;AAAA,MACD;AACA,UAAI,OAAO,oBAAoB,UAAU;AACxC,aAAK,OAAO,MAAM,SAAS,MAAM,IAAI,GAAG,GAAG,KAAK,eAAe;AAAA,CAAI,CAAC;AAAA,MACrE,OAAO;AACN,aAAK,OAAO,MAAM,SAAS,gBAAgB,OAAO,IAAI;AAAA,MACvD;AAAA,IACD;AACA,QAAI,MAAM,OAAO;AAChB,WAAK,OAAO,MAAM,QAAQ,MAAM,KAAK,EAAE,WAAW,OAAO,MAAM,IAAI,IAAI;AAAA,IACxE;AAAA,EACD;AAAA,EAEQ,WAAW,MAAsB;AACxC,UAAM,SAAS,KAAK,MAAM,+BAA+B;AACzD,QAAI,CAAC,QAAQ;AACZ,aAAO;AAAA,IACR;AACA,WAAO,MAAM,IAAI,OAAO,CAAC,IAAI,GAAG,IAAI,OAAO,CAAC,IAAI,MAAM,IAAI,MAAM,OAAO,CAAC,IAAI,GAAG;AAAA,EAChF;AAAA,EAEQ,YAAY,OAAyB;AAC5C,UAAM,YAAY,GAAG,MAAM,IAAI,GAAG,IAAI,OAAO,IAAI,MAAM,KAAK,MAAM,CAAC;AACnE,QAAI,QAAQ;AACZ,QAAI,MAAM,SAAS,IAAI;AACtB,cAAQ,MAAM;AAAA,IACf,WAAW,MAAM,SAAS,GAAI;AAAA,aAEnB,MAAM,SAAS,IAAI;AAC7B,cAAQ,MAAM;AAAA,IACf,OAAO;AACN,cAAQ,MAAM;AAAA,IACf;AACA,WAAO,MAAM,SAAS;AAAA,EACvB;AAAA,EAEA,QAAc;AAAA,EACd;AACD;"}
|
|
1
|
+
{"version":3,"file":"PrettyPrintLoggerHandler.js","sources":["../../../../../packages/logger/src/handlers/PrettyPrintLoggerHandler.ts"],"sourcesContent":["import chalk from 'chalk'\nimport { inspect } from 'node:util'\nimport { LogEntry, LoggerAttributes, LoggerHandler, LogLevel } from '../types.js'\nimport { LogLevels } from '../levels.js'\n\nexport interface PrettyPrintLoggerHandlerOptions {\n\tlogLevel: LogLevel\n\tformatters: {\n\t\t[key: string]: (\n\t\t\targs: { value: any; formattedValue: string; key: string; chalk: typeof chalk; attributes: LoggerAttributes },\n\t\t) => undefined | string | { line: string }\n\t}\n}\n\nexport class PrettyPrintLoggerHandler implements LoggerHandler {\n\tprivate readonly options: PrettyPrintLoggerHandlerOptions\n\n\tconstructor(\n\t\tprivate readonly stream: NodeJS.WritableStream,\n\t\toptions: Partial<PrettyPrintLoggerHandlerOptions> = {},\n\t) {\n\t\tthis.options = {\n\t\t\tlogLevel: LogLevels.debug,\n\t\t\tformatters: {},\n\t\t\t...options,\n\t\t}\n\t}\n\n\tgetMinLevel(): number {\n\t\treturn this.options.logLevel.value\n\t}\n\n\thandle(entry: LogEntry) {\n\t\tif (entry.level.value < this.options.logLevel.value) {\n\t\t\treturn\n\t\t}\n\t\tconst startLength = entry.isoTime.length + 7\n\n\t\tthis.stream.write(`${this.formatTime(entry.isoTime)} ${this.formatLevel(entry.level)} `)\n\n\t\tconst indent = ' '.repeat(startLength)\n\t\tthis.stream.write(`${entry.message.replaceAll(/\\n/g, '\\n' + indent)}\\n`)\n\t\tconst allAttributes = { ...entry.loggerAttributes, ...entry.ownAttributes }\n\t\tfor (const key in allAttributes) {\n\t\t\tconst value = allAttributes[key]\n\t\t\tif (typeof key !== 'string' || value === undefined) {\n\t\t\t\tcontinue\n\t\t\t}\n\t\t\tconst formattedValue = inspect(value, {\n\t\t\t\tdepth: 5,\n\t\t\t}).replaceAll(/\\n/g, '\\n' + indent)\n\t\t\tconst formattedValue2 = this.options.formatters[key]\n\t\t\t\t? (this.options.formatters[key]({ value, key, formattedValue, chalk, attributes: allAttributes }))\n\t\t\t\t: formattedValue\n\t\t\tif (formattedValue2 === undefined) {\n\t\t\t\tcontinue\n\t\t\t}\n\t\t\tif (typeof formattedValue2 === 'string') {\n\t\t\t\tthis.stream.write(indent + chalk.dim(`${key}: ${formattedValue2}\\n`))\n\t\t\t} else {\n\t\t\t\tthis.stream.write(indent + formattedValue2.line + '\\n')\n\t\t\t}\n\t\t}\n\t\tif (entry.error) {\n\t\t\tthis.stream.write(inspect(entry.error).replaceAll(/^/gm, indent) + '\\n')\n\t\t}\n\t}\n\n\tprivate formatTime(date: string): string {\n\t\tconst result = date.match(/^([0-9-]+)T([0-9:]+)\\.(\\d+)Z$/)\n\t\tif (!result) {\n\t\t\treturn date\n\t\t}\n\t\treturn chalk.dim(result[1] + 'T') + result[2] + chalk.dim('.' + result[3] + 'Z')\n\t}\n\n\tprivate formatLevel(level: LogLevel): string {\n\t\tconst levelText = `${level.name}${' '.repeat(5 - level.name.length)}`\n\t\tlet color = chalk\n\t\tif (level.value <= 10) {\n\t\t\tcolor = color.dim\n\t\t} else if (level.value <= 20) {\n\t\t\t// nothing\n\t\t} else if (level.value <= 30) {\n\t\t\tcolor = color.yellowBright\n\t\t} else {\n\t\t\tcolor = color.redBright\n\t\t}\n\t\treturn color(levelText)\n\t}\n\n\tclose(): void {\n\t}\n}\n"],"names":[],"mappings":";;;;;;AAcO,MAAM,yBAAkD;AAAA,EAG9D,YACkB,QACjB,UAAoD,IACnD;AAFgB,SAAA,SAAA;AAHlB,kBAAA,MAAiB,SAAA;AAMhB,SAAK,UAAU;AAAA,MACd,UAAU,UAAU;AAAA,MACpB,YAAY,CAAA;AAAA,MACZ,GAAG;AAAA,IAAA;AAAA,EAEL;AAAA,EAEA,cAAsB;AACrB,WAAO,KAAK,QAAQ,SAAS;AAAA,EAC9B;AAAA,EAEA,OAAO,OAAiB;AACvB,QAAI,MAAM,MAAM,QAAQ,KAAK,QAAQ,SAAS,OAAO;AACpD;AAAA,IACD;AACA,UAAM,cAAc,MAAM,QAAQ,SAAS;AAE3C,SAAK,OAAO,MAAM,GAAG,KAAK,WAAW,MAAM,OAAO,CAAC,IAAI,KAAK,YAAY,MAAM,KAAK,CAAC,GAAG;AAEvF,UAAM,SAAS,IAAI,OAAO,WAAW;AACrC,SAAK,OAAO,MAAM,GAAG,MAAM,QAAQ,WAAW,OAAO,OAAO,MAAM,CAAC;AAAA,CAAI;AACvE,UAAM,gBAAgB,EAAE,GAAG,MAAM,kBAAkB,GAAG,MAAM,cAAA;AAC5D,eAAW,OAAO,eAAe;AAChC,YAAM,QAAQ,cAAc,GAAG;AAC/B,UAAI,OAAO,QAAQ,YAAY,UAAU,QAAW;AACnD;AAAA,MACD;AACA,YAAM,iBAAiB,QAAQ,OAAO;AAAA,QACrC,OAAO;AAAA,MAAA,CACP,EAAE,WAAW,OAAO,OAAO,MAAM;AAClC,YAAM,kBAAkB,KAAK,QAAQ,WAAW,GAAG,IAC/C,KAAK,QAAQ,WAAW,GAAG,EAAE,EAAE,OAAO,KAAK,gBAAgB,OAAO,YAAY,cAAA,CAAe,IAC9F;AACH,UAAI,oBAAoB,QAAW;AAClC;AAAA,MACD;AACA,UAAI,OAAO,oBAAoB,UAAU;AACxC,aAAK,OAAO,MAAM,SAAS,MAAM,IAAI,GAAG,GAAG,KAAK,eAAe;AAAA,CAAI,CAAC;AAAA,MACrE,OAAO;AACN,aAAK,OAAO,MAAM,SAAS,gBAAgB,OAAO,IAAI;AAAA,MACvD;AAAA,IACD;AACA,QAAI,MAAM,OAAO;AAChB,WAAK,OAAO,MAAM,QAAQ,MAAM,KAAK,EAAE,WAAW,OAAO,MAAM,IAAI,IAAI;AAAA,IACxE;AAAA,EACD;AAAA,EAEQ,WAAW,MAAsB;AACxC,UAAM,SAAS,KAAK,MAAM,+BAA+B;AACzD,QAAI,CAAC,QAAQ;AACZ,aAAO;AAAA,IACR;AACA,WAAO,MAAM,IAAI,OAAO,CAAC,IAAI,GAAG,IAAI,OAAO,CAAC,IAAI,MAAM,IAAI,MAAM,OAAO,CAAC,IAAI,GAAG;AAAA,EAChF;AAAA,EAEQ,YAAY,OAAyB;AAC5C,UAAM,YAAY,GAAG,MAAM,IAAI,GAAG,IAAI,OAAO,IAAI,MAAM,KAAK,MAAM,CAAC;AACnE,QAAI,QAAQ;AACZ,QAAI,MAAM,SAAS,IAAI;AACtB,cAAQ,MAAM;AAAA,IACf,WAAW,MAAM,SAAS,GAAI;AAAA,aAEnB,MAAM,SAAS,IAAI;AAC7B,cAAQ,MAAM;AAAA,IACf,OAAO;AACN,cAAQ,MAAM;AAAA,IACf;AACA,WAAO,MAAM,SAAS;AAAA,EACvB;AAAA,EAEA,QAAc;AAAA,EACd;AACD;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TestLoggerHandler.cjs","sources":["../../../../../packages/logger/src/handlers/TestLoggerHandler.ts"],"sourcesContent":["import { LogEntry, LoggerHandler } from '../types'\n\nexport class TestLoggerHandler implements LoggerHandler {\n\tpublic readonly messages: LogEntry[] = []\n\n\tconstructor(\n\t\tprivate print = false,\n\t) {\n\t}\n\n\tclose(): void {\n\t}\n\n\tgetMinLevel(): number {\n\t\treturn 0\n\t}\n\n\thandle(logEntry: LogEntry): void {\n\t\tthis.messages.push(logEntry)\n\t\tif (this.print) {\n\t\t\tconsole.error(logEntry.message)\n\t\t}\n\t}\n}\n"],"names":[],"mappings":";;;;;AAEO,MAAM,kBAA2C;AAAA,EAGvD,YACS,QAAQ,OACf;AADO,SAAA,QAAA;AAHT,kBAAA,MAAgB,YAAuB,EAAC;AAAA,EAKxC;AAAA,EAEA,QAAc;AAAA,EACd;AAAA,EAEA,cAAsB;AACrB,WAAO;AAAA,EACR;AAAA,EAEA,OAAO,UAA0B;AAChC,SAAK,SAAS,KAAK,QAAQ;AAC3B,QAAI,KAAK,OAAO;AACf,cAAQ,MAAM,SAAS,OAAO;AAAA,IAC/B;AAAA,EACD;AACD;;"}
|
|
1
|
+
{"version":3,"file":"TestLoggerHandler.cjs","sources":["../../../../../packages/logger/src/handlers/TestLoggerHandler.ts"],"sourcesContent":["import { LogEntry, LoggerHandler } from '../types.js'\n\nexport class TestLoggerHandler implements LoggerHandler {\n\tpublic readonly messages: LogEntry[] = []\n\n\tconstructor(\n\t\tprivate print = false,\n\t) {\n\t}\n\n\tclose(): void {\n\t}\n\n\tgetMinLevel(): number {\n\t\treturn 0\n\t}\n\n\thandle(logEntry: LogEntry): void {\n\t\tthis.messages.push(logEntry)\n\t\tif (this.print) {\n\t\t\tconsole.error(logEntry.message)\n\t\t}\n\t}\n}\n"],"names":[],"mappings":";;;;;AAEO,MAAM,kBAA2C;AAAA,EAGvD,YACS,QAAQ,OACf;AADO,SAAA,QAAA;AAHT,kBAAA,MAAgB,YAAuB,EAAC;AAAA,EAKxC;AAAA,EAEA,QAAc;AAAA,EACd;AAAA,EAEA,cAAsB;AACrB,WAAO;AAAA,EACR;AAAA,EAEA,OAAO,UAA0B;AAChC,SAAK,SAAS,KAAK,QAAQ;AAC3B,QAAI,KAAK,OAAO;AACf,cAAQ,MAAM,SAAS,OAAO;AAAA,IAC/B;AAAA,EACD;AACD;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TestLoggerHandler.js","sources":["../../../../../packages/logger/src/handlers/TestLoggerHandler.ts"],"sourcesContent":["import { LogEntry, LoggerHandler } from '../types'\n\nexport class TestLoggerHandler implements LoggerHandler {\n\tpublic readonly messages: LogEntry[] = []\n\n\tconstructor(\n\t\tprivate print = false,\n\t) {\n\t}\n\n\tclose(): void {\n\t}\n\n\tgetMinLevel(): number {\n\t\treturn 0\n\t}\n\n\thandle(logEntry: LogEntry): void {\n\t\tthis.messages.push(logEntry)\n\t\tif (this.print) {\n\t\t\tconsole.error(logEntry.message)\n\t\t}\n\t}\n}\n"],"names":[],"mappings":";;;AAEO,MAAM,kBAA2C;AAAA,EAGvD,YACS,QAAQ,OACf;AADO,SAAA,QAAA;AAHT,kBAAA,MAAgB,YAAuB,EAAC;AAAA,EAKxC;AAAA,EAEA,QAAc;AAAA,EACd;AAAA,EAEA,cAAsB;AACrB,WAAO;AAAA,EACR;AAAA,EAEA,OAAO,UAA0B;AAChC,SAAK,SAAS,KAAK,QAAQ;AAC3B,QAAI,KAAK,OAAO;AACf,cAAQ,MAAM,SAAS,OAAO;AAAA,IAC/B;AAAA,EACD;AACD;"}
|
|
1
|
+
{"version":3,"file":"TestLoggerHandler.js","sources":["../../../../../packages/logger/src/handlers/TestLoggerHandler.ts"],"sourcesContent":["import { LogEntry, LoggerHandler } from '../types.js'\n\nexport class TestLoggerHandler implements LoggerHandler {\n\tpublic readonly messages: LogEntry[] = []\n\n\tconstructor(\n\t\tprivate print = false,\n\t) {\n\t}\n\n\tclose(): void {\n\t}\n\n\tgetMinLevel(): number {\n\t\treturn 0\n\t}\n\n\thandle(logEntry: LogEntry): void {\n\t\tthis.messages.push(logEntry)\n\t\tif (this.print) {\n\t\t\tconsole.error(logEntry.message)\n\t\t}\n\t}\n}\n"],"names":[],"mappings":";;;AAEO,MAAM,kBAA2C;AAAA,EAGvD,YACS,QAAQ,OACf;AADO,SAAA,QAAA;AAHT,kBAAA,MAAgB,YAAuB,EAAC;AAAA,EAKxC;AAAA,EAEA,QAAc;AAAA,EACd;AAAA,EAEA,cAAsB;AACrB,WAAO;AAAA,EACR;AAAA,EAEA,OAAO,UAA0B;AAChC,SAAK,SAAS,KAAK,QAAQ;AAC3B,QAAI,KAAK,OAAO;AACf,cAAQ,MAAM,SAAS,OAAO;AAAA,IAC/B;AAAA,EACD;AACD;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"impl.cjs","sources":["../../../../packages/logger/src/impl.ts"],"sourcesContent":["import {\n\tLogEntry,\n\tLogEntryFormatted,\n\tLogger,\n\tLoggerAttributes,\n\tLoggerChildOptions,\n\tLoggerHandler,\n\tLoggerOptions,\n\tLogLevel,\n\tLogLevelName,\n} from './types'\nimport { LogLevels } from './levels'\nimport { formatLogEntryAttributes, formatLoggerAttributes, FormattedAttributes, stringify } from './formatting'\nimport { LoggerHandlerList } from './handlers/LoggerHandlerList'\nimport { withLogger } from './proxy'\n\nexport const createLogger = (\n\thandler: LoggerHandler,\n\tattributes: LoggerAttributes = {},\n\toptions: LoggerOptions = {},\n): Logger => {\n\treturn LoggerImpl.create(handler, attributes, options)\n}\n\nexport class LoggerImpl implements Logger {\n\tpublic readonly attributes: LoggerAttributes\n\tprivate formattedAttributes: FormattedAttributes | undefined\n\tprivate minLevelValue: number\n\tprivate handlerList: LoggerHandlerList | undefined\n\n\tprivate constructor(\n\t\tprivate handler: LoggerHandler,\n\t\tprivate readonly ownAttributes: LoggerAttributes,\n\t\tprivate readonly depth: number,\n\t\tprivate readonly parent: LoggerImpl | undefined,\n\t\tprivate readonly options: LoggerOptions,\n\t) {\n\t\tthis.attributes = { ...parent?.attributes, ...ownAttributes }\n\t\tthis.minLevelValue = handler.getMinLevel()\n\t}\n\n\tpublic static create(\n\t\thandler: LoggerHandler,\n\t\tattributes: LoggerAttributes = {},\n\t\toptions: LoggerOptions = {},\n\t) {\n\t\treturn new LoggerImpl(handler, attributes, 0, undefined, options)\n\t}\n\n\tpublic crit(messageOrError: unknown, attributes?: LoggerAttributes) {\n\t\tthis.minLevelValue <= LogLevels.crit.value && this.doLog(LogLevels.crit, messageOrError, attributes)\n\t}\n\n\tpublic error(messageOrError: unknown, attributes?: LoggerAttributes) {\n\t\tthis.minLevelValue <= LogLevels.error.value && this.doLog(LogLevels.error, messageOrError, attributes)\n\t}\n\n\tpublic warn(messageOrError: unknown, attributes?: LoggerAttributes) {\n\t\tthis.minLevelValue <= LogLevels.warn.value && this.doLog(LogLevels.warn, messageOrError, attributes)\n\t}\n\n\tpublic info(messageOrError: unknown, attributes?: LoggerAttributes) {\n\t\tthis.minLevelValue <= LogLevels.info.value && this.doLog(LogLevels.info, messageOrError, attributes)\n\t}\n\n\tpublic debug(messageOrError: unknown, attributes?: LoggerAttributes) {\n\t\tthis.minLevelValue <= LogLevels.debug.value && this.doLog(LogLevels.debug, messageOrError, attributes)\n\t}\n\n\tpublic log(levelName: LogLevelName, messageOrError: unknown, attributes?: LoggerAttributes) {\n\t\tconst level = LogLevels[levelName]\n\t\tthis.minLevelValue <= level.value && this.doLog(level, messageOrError, attributes)\n\t}\n\n\tpublic child(attributes: LoggerAttributes = {}, options: Partial<LoggerChildOptions> = {}): Logger {\n\t\tconst newHandler = options.handler ? options.handler(this.handler, this.options) : this.handler\n\t\treturn new LoggerImpl(newHandler, attributes, this.depth + 1, this, { ...this.options, ...options })\n\t}\n\n\tpublic async scope<T>(\n\t\tcb: (logger: Logger) => Promise<T> | T,\n\t\tattributes: LoggerAttributes = {},\n\t\toptions: Partial<LoggerChildOptions> = {},\n\t): Promise<T> {\n\t\tconst logger = this.child(attributes, options)\n\t\ttry {\n\t\t\treturn await withLogger(logger, () => cb(logger))\n\t\t} finally {\n\t\t\tlogger.close()\n\t\t}\n\t}\n\n\tprivate doLog(level: LogLevel, errorOrMessage: unknown, { error: errorAttr, message: messageAttr, ...attributes }: LoggerAttributes = {}) {\n\t\tconst error: unknown | undefined = typeof errorOrMessage !== 'string' ? errorOrMessage : errorAttr\n\t\tconst errorMessage = typeof error === 'object' && error !== null && typeof (error as any).message === 'string'\n\t\t\t? (error as any).message\n\t\t\t: undefined\n\n\t\tconst passedMessage = typeof errorOrMessage === 'string'\n\t\t\t? errorOrMessage\n\t\t\t: (typeof messageAttr === 'string')\n\t\t\t? messageAttr\n\t\t\t: undefined\n\n\t\tconst message = errorMessage && passedMessage ? `${passedMessage}: ${errorMessage}` : (passedMessage ?? errorMessage ?? 'undefined message')\n\n\t\tconst now = new Date()\n\t\tlet formatted: LogEntryFormatted\n\t\tconst entry: LogEntry = {\n\t\t\tlevel,\n\t\t\terror,\n\t\t\tmessage,\n\t\t\townAttributes: attributes,\n\t\t\ttime: now,\n\t\t\tisoTime: now.toISOString(),\n\t\t\tdepth: this.depth,\n\t\t\tloggerAttributes: this.attributes,\n\t\t\tformat: () => {\n\t\t\t\treturn formatted ??= {\n\t\t\t\t\tattributes: formatLogEntryAttributes(this.getFormattedAttributes(), entry),\n\t\t\t\t\tmessage: stringify(entry.message),\n\t\t\t\t\terror: entry.error ? `, \"error\": ${stringify(entry.error)}` : '',\n\t\t\t\t}\n\t\t\t},\n\t\t}\n\t\tthis.handler.handle(entry)\n\t}\n\n\taddHandler(handler: LoggerHandler): void {\n\t\tif (!this.handlerList) {\n\t\t\tthis.handlerList = new LoggerHandlerList([this.handler])\n\t\t\tthis.handler = this.handlerList\n\t\t}\n\t\tthis.handlerList.addHandler(handler)\n\t\tthis.minLevelValue = Math.min(this.minLevelValue, handler.getMinLevel())\n\t}\n\n\tclose(): void {\n\t\tthis.handler.close()\n\t}\n\n\tprivate getFormattedAttributes(): FormattedAttributes {\n\t\tif (this.formattedAttributes) {\n\t\t\treturn this.formattedAttributes\n\t\t}\n\t\tconst parentAttributes = this.parent?.getFormattedAttributes()\n\t\tthis.formattedAttributes = formatLoggerAttributes(parentAttributes, this.ownAttributes)\n\t\treturn this.formattedAttributes\n\t}\n}\n"],"names":["LogLevels","withLogger","formatLogEntryAttributes","stringify","LoggerHandlerList","formatLoggerAttributes"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"impl.cjs","sources":["../../../../packages/logger/src/impl.ts"],"sourcesContent":["import {\n\tLogEntry,\n\tLogEntryFormatted,\n\tLogger,\n\tLoggerAttributes,\n\tLoggerChildOptions,\n\tLoggerHandler,\n\tLoggerOptions,\n\tLogLevel,\n\tLogLevelName,\n} from './types.js'\nimport { LogLevels } from './levels.js'\nimport { formatLogEntryAttributes, formatLoggerAttributes, FormattedAttributes, stringify } from './formatting.js'\nimport { LoggerHandlerList } from './handlers/LoggerHandlerList.js'\nimport { withLogger } from './proxy.js'\n\nexport const createLogger = (\n\thandler: LoggerHandler,\n\tattributes: LoggerAttributes = {},\n\toptions: LoggerOptions = {},\n): Logger => {\n\treturn LoggerImpl.create(handler, attributes, options)\n}\n\nexport class LoggerImpl implements Logger {\n\tpublic readonly attributes: LoggerAttributes\n\tprivate formattedAttributes: FormattedAttributes | undefined\n\tprivate minLevelValue: number\n\tprivate handlerList: LoggerHandlerList | undefined\n\n\tprivate constructor(\n\t\tprivate handler: LoggerHandler,\n\t\tprivate readonly ownAttributes: LoggerAttributes,\n\t\tprivate readonly depth: number,\n\t\tprivate readonly parent: LoggerImpl | undefined,\n\t\tprivate readonly options: LoggerOptions,\n\t) {\n\t\tthis.attributes = { ...parent?.attributes, ...ownAttributes }\n\t\tthis.minLevelValue = handler.getMinLevel()\n\t}\n\n\tpublic static create(\n\t\thandler: LoggerHandler,\n\t\tattributes: LoggerAttributes = {},\n\t\toptions: LoggerOptions = {},\n\t) {\n\t\treturn new LoggerImpl(handler, attributes, 0, undefined, options)\n\t}\n\n\tpublic crit(messageOrError: unknown, attributes?: LoggerAttributes) {\n\t\tthis.minLevelValue <= LogLevels.crit.value && this.doLog(LogLevels.crit, messageOrError, attributes)\n\t}\n\n\tpublic error(messageOrError: unknown, attributes?: LoggerAttributes) {\n\t\tthis.minLevelValue <= LogLevels.error.value && this.doLog(LogLevels.error, messageOrError, attributes)\n\t}\n\n\tpublic warn(messageOrError: unknown, attributes?: LoggerAttributes) {\n\t\tthis.minLevelValue <= LogLevels.warn.value && this.doLog(LogLevels.warn, messageOrError, attributes)\n\t}\n\n\tpublic info(messageOrError: unknown, attributes?: LoggerAttributes) {\n\t\tthis.minLevelValue <= LogLevels.info.value && this.doLog(LogLevels.info, messageOrError, attributes)\n\t}\n\n\tpublic debug(messageOrError: unknown, attributes?: LoggerAttributes) {\n\t\tthis.minLevelValue <= LogLevels.debug.value && this.doLog(LogLevels.debug, messageOrError, attributes)\n\t}\n\n\tpublic log(levelName: LogLevelName, messageOrError: unknown, attributes?: LoggerAttributes) {\n\t\tconst level = LogLevels[levelName]\n\t\tthis.minLevelValue <= level.value && this.doLog(level, messageOrError, attributes)\n\t}\n\n\tpublic child(attributes: LoggerAttributes = {}, options: Partial<LoggerChildOptions> = {}): Logger {\n\t\tconst newHandler = options.handler ? options.handler(this.handler, this.options) : this.handler\n\t\treturn new LoggerImpl(newHandler, attributes, this.depth + 1, this, { ...this.options, ...options })\n\t}\n\n\tpublic async scope<T>(\n\t\tcb: (logger: Logger) => Promise<T> | T,\n\t\tattributes: LoggerAttributes = {},\n\t\toptions: Partial<LoggerChildOptions> = {},\n\t): Promise<T> {\n\t\tconst logger = this.child(attributes, options)\n\t\ttry {\n\t\t\treturn await withLogger(logger, () => cb(logger))\n\t\t} finally {\n\t\t\tlogger.close()\n\t\t}\n\t}\n\n\tprivate doLog(level: LogLevel, errorOrMessage: unknown, { error: errorAttr, message: messageAttr, ...attributes }: LoggerAttributes = {}) {\n\t\tconst error: unknown | undefined = typeof errorOrMessage !== 'string' ? errorOrMessage : errorAttr\n\t\tconst errorMessage = typeof error === 'object' && error !== null && typeof (error as any).message === 'string'\n\t\t\t? (error as any).message\n\t\t\t: undefined\n\n\t\tconst passedMessage = typeof errorOrMessage === 'string'\n\t\t\t? errorOrMessage\n\t\t\t: (typeof messageAttr === 'string')\n\t\t\t? messageAttr\n\t\t\t: undefined\n\n\t\tconst message = errorMessage && passedMessage ? `${passedMessage}: ${errorMessage}` : (passedMessage ?? errorMessage ?? 'undefined message')\n\n\t\tconst now = new Date()\n\t\tlet formatted: LogEntryFormatted\n\t\tconst entry: LogEntry = {\n\t\t\tlevel,\n\t\t\terror,\n\t\t\tmessage,\n\t\t\townAttributes: attributes,\n\t\t\ttime: now,\n\t\t\tisoTime: now.toISOString(),\n\t\t\tdepth: this.depth,\n\t\t\tloggerAttributes: this.attributes,\n\t\t\tformat: () => {\n\t\t\t\treturn formatted ??= {\n\t\t\t\t\tattributes: formatLogEntryAttributes(this.getFormattedAttributes(), entry),\n\t\t\t\t\tmessage: stringify(entry.message),\n\t\t\t\t\terror: entry.error ? `, \"error\": ${stringify(entry.error)}` : '',\n\t\t\t\t}\n\t\t\t},\n\t\t}\n\t\tthis.handler.handle(entry)\n\t}\n\n\taddHandler(handler: LoggerHandler): void {\n\t\tif (!this.handlerList) {\n\t\t\tthis.handlerList = new LoggerHandlerList([this.handler])\n\t\t\tthis.handler = this.handlerList\n\t\t}\n\t\tthis.handlerList.addHandler(handler)\n\t\tthis.minLevelValue = Math.min(this.minLevelValue, handler.getMinLevel())\n\t}\n\n\tclose(): void {\n\t\tthis.handler.close()\n\t}\n\n\tprivate getFormattedAttributes(): FormattedAttributes {\n\t\tif (this.formattedAttributes) {\n\t\t\treturn this.formattedAttributes\n\t\t}\n\t\tconst parentAttributes = this.parent?.getFormattedAttributes()\n\t\tthis.formattedAttributes = formatLoggerAttributes(parentAttributes, this.ownAttributes)\n\t\treturn this.formattedAttributes\n\t}\n}\n"],"names":["LogLevels","withLogger","formatLogEntryAttributes","stringify","LoggerHandlerList","formatLoggerAttributes"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"impl.js","sources":["../../../../packages/logger/src/impl.ts"],"sourcesContent":["import {\n\tLogEntry,\n\tLogEntryFormatted,\n\tLogger,\n\tLoggerAttributes,\n\tLoggerChildOptions,\n\tLoggerHandler,\n\tLoggerOptions,\n\tLogLevel,\n\tLogLevelName,\n} from './types'\nimport { LogLevels } from './levels'\nimport { formatLogEntryAttributes, formatLoggerAttributes, FormattedAttributes, stringify } from './formatting'\nimport { LoggerHandlerList } from './handlers/LoggerHandlerList'\nimport { withLogger } from './proxy'\n\nexport const createLogger = (\n\thandler: LoggerHandler,\n\tattributes: LoggerAttributes = {},\n\toptions: LoggerOptions = {},\n): Logger => {\n\treturn LoggerImpl.create(handler, attributes, options)\n}\n\nexport class LoggerImpl implements Logger {\n\tpublic readonly attributes: LoggerAttributes\n\tprivate formattedAttributes: FormattedAttributes | undefined\n\tprivate minLevelValue: number\n\tprivate handlerList: LoggerHandlerList | undefined\n\n\tprivate constructor(\n\t\tprivate handler: LoggerHandler,\n\t\tprivate readonly ownAttributes: LoggerAttributes,\n\t\tprivate readonly depth: number,\n\t\tprivate readonly parent: LoggerImpl | undefined,\n\t\tprivate readonly options: LoggerOptions,\n\t) {\n\t\tthis.attributes = { ...parent?.attributes, ...ownAttributes }\n\t\tthis.minLevelValue = handler.getMinLevel()\n\t}\n\n\tpublic static create(\n\t\thandler: LoggerHandler,\n\t\tattributes: LoggerAttributes = {},\n\t\toptions: LoggerOptions = {},\n\t) {\n\t\treturn new LoggerImpl(handler, attributes, 0, undefined, options)\n\t}\n\n\tpublic crit(messageOrError: unknown, attributes?: LoggerAttributes) {\n\t\tthis.minLevelValue <= LogLevels.crit.value && this.doLog(LogLevels.crit, messageOrError, attributes)\n\t}\n\n\tpublic error(messageOrError: unknown, attributes?: LoggerAttributes) {\n\t\tthis.minLevelValue <= LogLevels.error.value && this.doLog(LogLevels.error, messageOrError, attributes)\n\t}\n\n\tpublic warn(messageOrError: unknown, attributes?: LoggerAttributes) {\n\t\tthis.minLevelValue <= LogLevels.warn.value && this.doLog(LogLevels.warn, messageOrError, attributes)\n\t}\n\n\tpublic info(messageOrError: unknown, attributes?: LoggerAttributes) {\n\t\tthis.minLevelValue <= LogLevels.info.value && this.doLog(LogLevels.info, messageOrError, attributes)\n\t}\n\n\tpublic debug(messageOrError: unknown, attributes?: LoggerAttributes) {\n\t\tthis.minLevelValue <= LogLevels.debug.value && this.doLog(LogLevels.debug, messageOrError, attributes)\n\t}\n\n\tpublic log(levelName: LogLevelName, messageOrError: unknown, attributes?: LoggerAttributes) {\n\t\tconst level = LogLevels[levelName]\n\t\tthis.minLevelValue <= level.value && this.doLog(level, messageOrError, attributes)\n\t}\n\n\tpublic child(attributes: LoggerAttributes = {}, options: Partial<LoggerChildOptions> = {}): Logger {\n\t\tconst newHandler = options.handler ? options.handler(this.handler, this.options) : this.handler\n\t\treturn new LoggerImpl(newHandler, attributes, this.depth + 1, this, { ...this.options, ...options })\n\t}\n\n\tpublic async scope<T>(\n\t\tcb: (logger: Logger) => Promise<T> | T,\n\t\tattributes: LoggerAttributes = {},\n\t\toptions: Partial<LoggerChildOptions> = {},\n\t): Promise<T> {\n\t\tconst logger = this.child(attributes, options)\n\t\ttry {\n\t\t\treturn await withLogger(logger, () => cb(logger))\n\t\t} finally {\n\t\t\tlogger.close()\n\t\t}\n\t}\n\n\tprivate doLog(level: LogLevel, errorOrMessage: unknown, { error: errorAttr, message: messageAttr, ...attributes }: LoggerAttributes = {}) {\n\t\tconst error: unknown | undefined = typeof errorOrMessage !== 'string' ? errorOrMessage : errorAttr\n\t\tconst errorMessage = typeof error === 'object' && error !== null && typeof (error as any).message === 'string'\n\t\t\t? (error as any).message\n\t\t\t: undefined\n\n\t\tconst passedMessage = typeof errorOrMessage === 'string'\n\t\t\t? errorOrMessage\n\t\t\t: (typeof messageAttr === 'string')\n\t\t\t? messageAttr\n\t\t\t: undefined\n\n\t\tconst message = errorMessage && passedMessage ? `${passedMessage}: ${errorMessage}` : (passedMessage ?? errorMessage ?? 'undefined message')\n\n\t\tconst now = new Date()\n\t\tlet formatted: LogEntryFormatted\n\t\tconst entry: LogEntry = {\n\t\t\tlevel,\n\t\t\terror,\n\t\t\tmessage,\n\t\t\townAttributes: attributes,\n\t\t\ttime: now,\n\t\t\tisoTime: now.toISOString(),\n\t\t\tdepth: this.depth,\n\t\t\tloggerAttributes: this.attributes,\n\t\t\tformat: () => {\n\t\t\t\treturn formatted ??= {\n\t\t\t\t\tattributes: formatLogEntryAttributes(this.getFormattedAttributes(), entry),\n\t\t\t\t\tmessage: stringify(entry.message),\n\t\t\t\t\terror: entry.error ? `, \"error\": ${stringify(entry.error)}` : '',\n\t\t\t\t}\n\t\t\t},\n\t\t}\n\t\tthis.handler.handle(entry)\n\t}\n\n\taddHandler(handler: LoggerHandler): void {\n\t\tif (!this.handlerList) {\n\t\t\tthis.handlerList = new LoggerHandlerList([this.handler])\n\t\t\tthis.handler = this.handlerList\n\t\t}\n\t\tthis.handlerList.addHandler(handler)\n\t\tthis.minLevelValue = Math.min(this.minLevelValue, handler.getMinLevel())\n\t}\n\n\tclose(): void {\n\t\tthis.handler.close()\n\t}\n\n\tprivate getFormattedAttributes(): FormattedAttributes {\n\t\tif (this.formattedAttributes) {\n\t\t\treturn this.formattedAttributes\n\t\t}\n\t\tconst parentAttributes = this.parent?.getFormattedAttributes()\n\t\tthis.formattedAttributes = formatLoggerAttributes(parentAttributes, this.ownAttributes)\n\t\treturn this.formattedAttributes\n\t}\n}\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"impl.js","sources":["../../../../packages/logger/src/impl.ts"],"sourcesContent":["import {\n\tLogEntry,\n\tLogEntryFormatted,\n\tLogger,\n\tLoggerAttributes,\n\tLoggerChildOptions,\n\tLoggerHandler,\n\tLoggerOptions,\n\tLogLevel,\n\tLogLevelName,\n} from './types.js'\nimport { LogLevels } from './levels.js'\nimport { formatLogEntryAttributes, formatLoggerAttributes, FormattedAttributes, stringify } from './formatting.js'\nimport { LoggerHandlerList } from './handlers/LoggerHandlerList.js'\nimport { withLogger } from './proxy.js'\n\nexport const createLogger = (\n\thandler: LoggerHandler,\n\tattributes: LoggerAttributes = {},\n\toptions: LoggerOptions = {},\n): Logger => {\n\treturn LoggerImpl.create(handler, attributes, options)\n}\n\nexport class LoggerImpl implements Logger {\n\tpublic readonly attributes: LoggerAttributes\n\tprivate formattedAttributes: FormattedAttributes | undefined\n\tprivate minLevelValue: number\n\tprivate handlerList: LoggerHandlerList | undefined\n\n\tprivate constructor(\n\t\tprivate handler: LoggerHandler,\n\t\tprivate readonly ownAttributes: LoggerAttributes,\n\t\tprivate readonly depth: number,\n\t\tprivate readonly parent: LoggerImpl | undefined,\n\t\tprivate readonly options: LoggerOptions,\n\t) {\n\t\tthis.attributes = { ...parent?.attributes, ...ownAttributes }\n\t\tthis.minLevelValue = handler.getMinLevel()\n\t}\n\n\tpublic static create(\n\t\thandler: LoggerHandler,\n\t\tattributes: LoggerAttributes = {},\n\t\toptions: LoggerOptions = {},\n\t) {\n\t\treturn new LoggerImpl(handler, attributes, 0, undefined, options)\n\t}\n\n\tpublic crit(messageOrError: unknown, attributes?: LoggerAttributes) {\n\t\tthis.minLevelValue <= LogLevels.crit.value && this.doLog(LogLevels.crit, messageOrError, attributes)\n\t}\n\n\tpublic error(messageOrError: unknown, attributes?: LoggerAttributes) {\n\t\tthis.minLevelValue <= LogLevels.error.value && this.doLog(LogLevels.error, messageOrError, attributes)\n\t}\n\n\tpublic warn(messageOrError: unknown, attributes?: LoggerAttributes) {\n\t\tthis.minLevelValue <= LogLevels.warn.value && this.doLog(LogLevels.warn, messageOrError, attributes)\n\t}\n\n\tpublic info(messageOrError: unknown, attributes?: LoggerAttributes) {\n\t\tthis.minLevelValue <= LogLevels.info.value && this.doLog(LogLevels.info, messageOrError, attributes)\n\t}\n\n\tpublic debug(messageOrError: unknown, attributes?: LoggerAttributes) {\n\t\tthis.minLevelValue <= LogLevels.debug.value && this.doLog(LogLevels.debug, messageOrError, attributes)\n\t}\n\n\tpublic log(levelName: LogLevelName, messageOrError: unknown, attributes?: LoggerAttributes) {\n\t\tconst level = LogLevels[levelName]\n\t\tthis.minLevelValue <= level.value && this.doLog(level, messageOrError, attributes)\n\t}\n\n\tpublic child(attributes: LoggerAttributes = {}, options: Partial<LoggerChildOptions> = {}): Logger {\n\t\tconst newHandler = options.handler ? options.handler(this.handler, this.options) : this.handler\n\t\treturn new LoggerImpl(newHandler, attributes, this.depth + 1, this, { ...this.options, ...options })\n\t}\n\n\tpublic async scope<T>(\n\t\tcb: (logger: Logger) => Promise<T> | T,\n\t\tattributes: LoggerAttributes = {},\n\t\toptions: Partial<LoggerChildOptions> = {},\n\t): Promise<T> {\n\t\tconst logger = this.child(attributes, options)\n\t\ttry {\n\t\t\treturn await withLogger(logger, () => cb(logger))\n\t\t} finally {\n\t\t\tlogger.close()\n\t\t}\n\t}\n\n\tprivate doLog(level: LogLevel, errorOrMessage: unknown, { error: errorAttr, message: messageAttr, ...attributes }: LoggerAttributes = {}) {\n\t\tconst error: unknown | undefined = typeof errorOrMessage !== 'string' ? errorOrMessage : errorAttr\n\t\tconst errorMessage = typeof error === 'object' && error !== null && typeof (error as any).message === 'string'\n\t\t\t? (error as any).message\n\t\t\t: undefined\n\n\t\tconst passedMessage = typeof errorOrMessage === 'string'\n\t\t\t? errorOrMessage\n\t\t\t: (typeof messageAttr === 'string')\n\t\t\t? messageAttr\n\t\t\t: undefined\n\n\t\tconst message = errorMessage && passedMessage ? `${passedMessage}: ${errorMessage}` : (passedMessage ?? errorMessage ?? 'undefined message')\n\n\t\tconst now = new Date()\n\t\tlet formatted: LogEntryFormatted\n\t\tconst entry: LogEntry = {\n\t\t\tlevel,\n\t\t\terror,\n\t\t\tmessage,\n\t\t\townAttributes: attributes,\n\t\t\ttime: now,\n\t\t\tisoTime: now.toISOString(),\n\t\t\tdepth: this.depth,\n\t\t\tloggerAttributes: this.attributes,\n\t\t\tformat: () => {\n\t\t\t\treturn formatted ??= {\n\t\t\t\t\tattributes: formatLogEntryAttributes(this.getFormattedAttributes(), entry),\n\t\t\t\t\tmessage: stringify(entry.message),\n\t\t\t\t\terror: entry.error ? `, \"error\": ${stringify(entry.error)}` : '',\n\t\t\t\t}\n\t\t\t},\n\t\t}\n\t\tthis.handler.handle(entry)\n\t}\n\n\taddHandler(handler: LoggerHandler): void {\n\t\tif (!this.handlerList) {\n\t\t\tthis.handlerList = new LoggerHandlerList([this.handler])\n\t\t\tthis.handler = this.handlerList\n\t\t}\n\t\tthis.handlerList.addHandler(handler)\n\t\tthis.minLevelValue = Math.min(this.minLevelValue, handler.getMinLevel())\n\t}\n\n\tclose(): void {\n\t\tthis.handler.close()\n\t}\n\n\tprivate getFormattedAttributes(): FormattedAttributes {\n\t\tif (this.formattedAttributes) {\n\t\t\treturn this.formattedAttributes\n\t\t}\n\t\tconst parentAttributes = this.parent?.getFormattedAttributes()\n\t\tthis.formattedAttributes = formatLoggerAttributes(parentAttributes, this.ownAttributes)\n\t\treturn this.formattedAttributes\n\t}\n}\n"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"levels.cjs","sources":["../../../../packages/logger/src/levels.ts"],"sourcesContent":["import { LogLevelName } from './types'\n\nexport const LogLevels: { [K in LogLevelName]: { name: K; value: number } } = {\n\tdebug: { name: 'debug', value: 10 },\n\tinfo: { name: 'info', value: 20 },\n\twarn: { name: 'warn', value: 30 },\n\terror: { name: 'error', value: 40 },\n\tcrit: { name: 'crit', value: 50 },\n}\n"],"names":[],"mappings":";;AAEO,MAAM,YAAiE;AAAA,EAC7E,OAAO,EAAE,MAAM,SAAS,OAAO,GAAA;AAAA,EAC/B,MAAM,EAAE,MAAM,QAAQ,OAAO,GAAA;AAAA,EAC7B,MAAM,EAAE,MAAM,QAAQ,OAAO,GAAA;AAAA,EAC7B,OAAO,EAAE,MAAM,SAAS,OAAO,GAAA;AAAA,EAC/B,MAAM,EAAE,MAAM,QAAQ,OAAO,GAAA;AAC9B;;"}
|
|
1
|
+
{"version":3,"file":"levels.cjs","sources":["../../../../packages/logger/src/levels.ts"],"sourcesContent":["import { LogLevelName } from './types.js'\n\nexport const LogLevels: { [K in LogLevelName]: { name: K; value: number } } = {\n\tdebug: { name: 'debug', value: 10 },\n\tinfo: { name: 'info', value: 20 },\n\twarn: { name: 'warn', value: 30 },\n\terror: { name: 'error', value: 40 },\n\tcrit: { name: 'crit', value: 50 },\n}\n"],"names":[],"mappings":";;AAEO,MAAM,YAAiE;AAAA,EAC7E,OAAO,EAAE,MAAM,SAAS,OAAO,GAAA;AAAA,EAC/B,MAAM,EAAE,MAAM,QAAQ,OAAO,GAAA;AAAA,EAC7B,MAAM,EAAE,MAAM,QAAQ,OAAO,GAAA;AAAA,EAC7B,OAAO,EAAE,MAAM,SAAS,OAAO,GAAA;AAAA,EAC/B,MAAM,EAAE,MAAM,QAAQ,OAAO,GAAA;AAC9B;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"levels.js","sources":["../../../../packages/logger/src/levels.ts"],"sourcesContent":["import { LogLevelName } from './types'\n\nexport const LogLevels: { [K in LogLevelName]: { name: K; value: number } } = {\n\tdebug: { name: 'debug', value: 10 },\n\tinfo: { name: 'info', value: 20 },\n\twarn: { name: 'warn', value: 30 },\n\terror: { name: 'error', value: 40 },\n\tcrit: { name: 'crit', value: 50 },\n}\n"],"names":[],"mappings":"AAEO,MAAM,YAAiE;AAAA,EAC7E,OAAO,EAAE,MAAM,SAAS,OAAO,GAAA;AAAA,EAC/B,MAAM,EAAE,MAAM,QAAQ,OAAO,GAAA;AAAA,EAC7B,MAAM,EAAE,MAAM,QAAQ,OAAO,GAAA;AAAA,EAC7B,OAAO,EAAE,MAAM,SAAS,OAAO,GAAA;AAAA,EAC/B,MAAM,EAAE,MAAM,QAAQ,OAAO,GAAA;AAC9B;"}
|
|
1
|
+
{"version":3,"file":"levels.js","sources":["../../../../packages/logger/src/levels.ts"],"sourcesContent":["import { LogLevelName } from './types.js'\n\nexport const LogLevels: { [K in LogLevelName]: { name: K; value: number } } = {\n\tdebug: { name: 'debug', value: 10 },\n\tinfo: { name: 'info', value: 20 },\n\twarn: { name: 'warn', value: 30 },\n\terror: { name: 'error', value: 40 },\n\tcrit: { name: 'crit', value: 50 },\n}\n"],"names":[],"mappings":"AAEO,MAAM,YAAiE;AAAA,EAC7E,OAAO,EAAE,MAAM,SAAS,OAAO,GAAA;AAAA,EAC/B,MAAM,EAAE,MAAM,QAAQ,OAAO,GAAA;AAAA,EAC7B,MAAM,EAAE,MAAM,QAAQ,OAAO,GAAA;AAAA,EAC7B,OAAO,EAAE,MAAM,SAAS,OAAO,GAAA;AAAA,EAC/B,MAAM,EAAE,MAAM,QAAQ,OAAO,GAAA;AAC9B;"}
|
|
@@ -48,7 +48,9 @@ const getLogger = () => {
|
|
|
48
48
|
}
|
|
49
49
|
return logger2;
|
|
50
50
|
};
|
|
51
|
+
const tryGetLogger = () => loggerStore.getStore();
|
|
51
52
|
exports.getLogger = getLogger;
|
|
52
53
|
exports.logger = logger;
|
|
54
|
+
exports.tryGetLogger = tryGetLogger;
|
|
53
55
|
exports.withLogger = withLogger;
|
|
54
56
|
//# sourceMappingURL=proxy.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"proxy.cjs","sources":["../../../../packages/logger/src/proxy.ts"],"sourcesContent":["import { Logger, LoggerAttributes, LoggerHandler, LoggerOptions } from './types'\nimport { AsyncLocalStorage } from 'node:async_hooks'\n\nconst loggerStore = new AsyncLocalStorage<Logger>()\n\nclass CurrentLoggerProxy implements Logger {\n\tcrit(a: any, b?: any, c?: any) {\n\t\tgetLogger().crit(a, b)\n\t}\n\n\terror(a: any, b?: any, c?: any) {\n\t\tgetLogger().error(a, b)\n\t}\n\n\twarn(a: any, b?: any, c?: any) {\n\t\tgetLogger().warn(a, b)\n\t}\n\n\tinfo(a: any, b?: any, c?: any) {\n\t\tgetLogger().info(a, b)\n\t}\n\n\tdebug(a: any, b?: any, c?: any) {\n\t\tgetLogger().debug(a, b)\n\t}\n\n\tlog(level: any, a: any, b?: any, c?: any) {\n\t\tgetLogger().log(level, a, b)\n\t}\n\n\tchild(attributes?: LoggerAttributes, options?: Partial<LoggerOptions>): Logger {\n\t\treturn getLogger().child(attributes, options)\n\t}\n\n\tget attributes() {\n\t\treturn getLogger().attributes\n\t}\n\n\tclose(): void {\n\t\tgetLogger().close()\n\t}\n\n\tscope<T>(cb: (logger: Logger) => Promise<T> | T, attributes?: LoggerAttributes, options?: Partial<LoggerOptions>): Promise<T> {\n\t\treturn getLogger().scope(cb, attributes, options)\n\t}\n\n\taddHandler(handler: LoggerHandler): void {\n\t\tgetLogger().addHandler(handler)\n\t}\n}\n\nexport const logger: Logger = new CurrentLoggerProxy()\n\nexport const withLogger = <R>(logger: Logger, callback: () => R): R => {\n\treturn loggerStore.run(logger, callback)\n}\n\nexport const getLogger = (): Logger => {\n\tconst logger = loggerStore.getStore()\n\tif (!logger) {\n\t\tthrow new Error('Logger was not set')\n\t}\n\treturn logger\n}\n"],"names":["AsyncLocalStorage","logger"],"mappings":";;;AAGA,MAAM,cAAc,IAAIA,iBAAAA,kBAAA;AAExB,MAAM,mBAAqC;AAAA,EAC1C,KAAK,GAAQ,GAAS,GAAS;AAC9B,gBAAY,KAAK,GAAG,CAAC;AAAA,EACtB;AAAA,EAEA,MAAM,GAAQ,GAAS,GAAS;AAC/B,gBAAY,MAAM,GAAG,CAAC;AAAA,EACvB;AAAA,EAEA,KAAK,GAAQ,GAAS,GAAS;AAC9B,gBAAY,KAAK,GAAG,CAAC;AAAA,EACtB;AAAA,EAEA,KAAK,GAAQ,GAAS,GAAS;AAC9B,gBAAY,KAAK,GAAG,CAAC;AAAA,EACtB;AAAA,EAEA,MAAM,GAAQ,GAAS,GAAS;AAC/B,gBAAY,MAAM,GAAG,CAAC;AAAA,EACvB;AAAA,EAEA,IAAI,OAAY,GAAQ,GAAS,GAAS;AACzC,cAAA,EAAY,IAAI,OAAO,GAAG,CAAC;AAAA,EAC5B;AAAA,EAEA,MAAM,YAA+B,SAA0C;AAC9E,WAAO,UAAA,EAAY,MAAM,YAAY,OAAO;AAAA,EAC7C;AAAA,EAEA,IAAI,aAAa;AAChB,WAAO,YAAY;AAAA,EACpB;AAAA,EAEA,QAAc;AACb,cAAA,EAAY,MAAA;AAAA,EACb;AAAA,EAEA,MAAS,IAAwC,YAA+B,SAA8C;AAC7H,WAAO,UAAA,EAAY,MAAM,IAAI,YAAY,OAAO;AAAA,EACjD;AAAA,EAEA,WAAW,SAA8B;AACxC,cAAA,EAAY,WAAW,OAAO;AAAA,EAC/B;AACD;AAEO,MAAM,SAAiB,IAAI,mBAAA;AAE3B,MAAM,aAAa,CAAIC,SAAgB,aAAyB;AACtE,SAAO,YAAY,IAAIA,SAAQ,QAAQ;AACxC;AAEO,MAAM,YAAY,MAAc;AACtC,QAAMA,UAAS,YAAY,SAAA;AAC3B,MAAI,CAACA,SAAQ;AACZ,UAAM,IAAI,MAAM,oBAAoB;AAAA,EACrC;AACA,SAAOA;AACR
|
|
1
|
+
{"version":3,"file":"proxy.cjs","sources":["../../../../packages/logger/src/proxy.ts"],"sourcesContent":["import { Logger, LoggerAttributes, LoggerHandler, LoggerOptions } from './types.js'\nimport { AsyncLocalStorage } from 'node:async_hooks'\n\nconst loggerStore = new AsyncLocalStorage<Logger>()\n\nclass CurrentLoggerProxy implements Logger {\n\tcrit(a: any, b?: any, c?: any) {\n\t\tgetLogger().crit(a, b)\n\t}\n\n\terror(a: any, b?: any, c?: any) {\n\t\tgetLogger().error(a, b)\n\t}\n\n\twarn(a: any, b?: any, c?: any) {\n\t\tgetLogger().warn(a, b)\n\t}\n\n\tinfo(a: any, b?: any, c?: any) {\n\t\tgetLogger().info(a, b)\n\t}\n\n\tdebug(a: any, b?: any, c?: any) {\n\t\tgetLogger().debug(a, b)\n\t}\n\n\tlog(level: any, a: any, b?: any, c?: any) {\n\t\tgetLogger().log(level, a, b)\n\t}\n\n\tchild(attributes?: LoggerAttributes, options?: Partial<LoggerOptions>): Logger {\n\t\treturn getLogger().child(attributes, options)\n\t}\n\n\tget attributes() {\n\t\treturn getLogger().attributes\n\t}\n\n\tclose(): void {\n\t\tgetLogger().close()\n\t}\n\n\tscope<T>(cb: (logger: Logger) => Promise<T> | T, attributes?: LoggerAttributes, options?: Partial<LoggerOptions>): Promise<T> {\n\t\treturn getLogger().scope(cb, attributes, options)\n\t}\n\n\taddHandler(handler: LoggerHandler): void {\n\t\tgetLogger().addHandler(handler)\n\t}\n}\n\nexport const logger: Logger = new CurrentLoggerProxy()\n\nexport const withLogger = <R>(logger: Logger, callback: () => R): R => {\n\treturn loggerStore.run(logger, callback)\n}\n\nexport const getLogger = (): Logger => {\n\tconst logger = loggerStore.getStore()\n\tif (!logger) {\n\t\tthrow new Error('Logger was not set')\n\t}\n\treturn logger\n}\n\nexport const tryGetLogger = (): Logger | undefined => loggerStore.getStore()\n"],"names":["AsyncLocalStorage","logger"],"mappings":";;;AAGA,MAAM,cAAc,IAAIA,iBAAAA,kBAAA;AAExB,MAAM,mBAAqC;AAAA,EAC1C,KAAK,GAAQ,GAAS,GAAS;AAC9B,gBAAY,KAAK,GAAG,CAAC;AAAA,EACtB;AAAA,EAEA,MAAM,GAAQ,GAAS,GAAS;AAC/B,gBAAY,MAAM,GAAG,CAAC;AAAA,EACvB;AAAA,EAEA,KAAK,GAAQ,GAAS,GAAS;AAC9B,gBAAY,KAAK,GAAG,CAAC;AAAA,EACtB;AAAA,EAEA,KAAK,GAAQ,GAAS,GAAS;AAC9B,gBAAY,KAAK,GAAG,CAAC;AAAA,EACtB;AAAA,EAEA,MAAM,GAAQ,GAAS,GAAS;AAC/B,gBAAY,MAAM,GAAG,CAAC;AAAA,EACvB;AAAA,EAEA,IAAI,OAAY,GAAQ,GAAS,GAAS;AACzC,cAAA,EAAY,IAAI,OAAO,GAAG,CAAC;AAAA,EAC5B;AAAA,EAEA,MAAM,YAA+B,SAA0C;AAC9E,WAAO,UAAA,EAAY,MAAM,YAAY,OAAO;AAAA,EAC7C;AAAA,EAEA,IAAI,aAAa;AAChB,WAAO,YAAY;AAAA,EACpB;AAAA,EAEA,QAAc;AACb,cAAA,EAAY,MAAA;AAAA,EACb;AAAA,EAEA,MAAS,IAAwC,YAA+B,SAA8C;AAC7H,WAAO,UAAA,EAAY,MAAM,IAAI,YAAY,OAAO;AAAA,EACjD;AAAA,EAEA,WAAW,SAA8B;AACxC,cAAA,EAAY,WAAW,OAAO;AAAA,EAC/B;AACD;AAEO,MAAM,SAAiB,IAAI,mBAAA;AAE3B,MAAM,aAAa,CAAIC,SAAgB,aAAyB;AACtE,SAAO,YAAY,IAAIA,SAAQ,QAAQ;AACxC;AAEO,MAAM,YAAY,MAAc;AACtC,QAAMA,UAAS,YAAY,SAAA;AAC3B,MAAI,CAACA,SAAQ;AACZ,UAAM,IAAI,MAAM,oBAAoB;AAAA,EACrC;AACA,SAAOA;AACR;AAEO,MAAM,eAAe,MAA0B,YAAY,SAAA;;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"proxy.js","sources":["../../../../packages/logger/src/proxy.ts"],"sourcesContent":["import { Logger, LoggerAttributes, LoggerHandler, LoggerOptions } from './types'\nimport { AsyncLocalStorage } from 'node:async_hooks'\n\nconst loggerStore = new AsyncLocalStorage<Logger>()\n\nclass CurrentLoggerProxy implements Logger {\n\tcrit(a: any, b?: any, c?: any) {\n\t\tgetLogger().crit(a, b)\n\t}\n\n\terror(a: any, b?: any, c?: any) {\n\t\tgetLogger().error(a, b)\n\t}\n\n\twarn(a: any, b?: any, c?: any) {\n\t\tgetLogger().warn(a, b)\n\t}\n\n\tinfo(a: any, b?: any, c?: any) {\n\t\tgetLogger().info(a, b)\n\t}\n\n\tdebug(a: any, b?: any, c?: any) {\n\t\tgetLogger().debug(a, b)\n\t}\n\n\tlog(level: any, a: any, b?: any, c?: any) {\n\t\tgetLogger().log(level, a, b)\n\t}\n\n\tchild(attributes?: LoggerAttributes, options?: Partial<LoggerOptions>): Logger {\n\t\treturn getLogger().child(attributes, options)\n\t}\n\n\tget attributes() {\n\t\treturn getLogger().attributes\n\t}\n\n\tclose(): void {\n\t\tgetLogger().close()\n\t}\n\n\tscope<T>(cb: (logger: Logger) => Promise<T> | T, attributes?: LoggerAttributes, options?: Partial<LoggerOptions>): Promise<T> {\n\t\treturn getLogger().scope(cb, attributes, options)\n\t}\n\n\taddHandler(handler: LoggerHandler): void {\n\t\tgetLogger().addHandler(handler)\n\t}\n}\n\nexport const logger: Logger = new CurrentLoggerProxy()\n\nexport const withLogger = <R>(logger: Logger, callback: () => R): R => {\n\treturn loggerStore.run(logger, callback)\n}\n\nexport const getLogger = (): Logger => {\n\tconst logger = loggerStore.getStore()\n\tif (!logger) {\n\t\tthrow new Error('Logger was not set')\n\t}\n\treturn logger\n}\n"],"names":["logger"],"mappings":";AAGA,MAAM,cAAc,IAAI,kBAAA;AAExB,MAAM,mBAAqC;AAAA,EAC1C,KAAK,GAAQ,GAAS,GAAS;AAC9B,gBAAY,KAAK,GAAG,CAAC;AAAA,EACtB;AAAA,EAEA,MAAM,GAAQ,GAAS,GAAS;AAC/B,gBAAY,MAAM,GAAG,CAAC;AAAA,EACvB;AAAA,EAEA,KAAK,GAAQ,GAAS,GAAS;AAC9B,gBAAY,KAAK,GAAG,CAAC;AAAA,EACtB;AAAA,EAEA,KAAK,GAAQ,GAAS,GAAS;AAC9B,gBAAY,KAAK,GAAG,CAAC;AAAA,EACtB;AAAA,EAEA,MAAM,GAAQ,GAAS,GAAS;AAC/B,gBAAY,MAAM,GAAG,CAAC;AAAA,EACvB;AAAA,EAEA,IAAI,OAAY,GAAQ,GAAS,GAAS;AACzC,cAAA,EAAY,IAAI,OAAO,GAAG,CAAC;AAAA,EAC5B;AAAA,EAEA,MAAM,YAA+B,SAA0C;AAC9E,WAAO,UAAA,EAAY,MAAM,YAAY,OAAO;AAAA,EAC7C;AAAA,EAEA,IAAI,aAAa;AAChB,WAAO,YAAY;AAAA,EACpB;AAAA,EAEA,QAAc;AACb,cAAA,EAAY,MAAA;AAAA,EACb;AAAA,EAEA,MAAS,IAAwC,YAA+B,SAA8C;AAC7H,WAAO,UAAA,EAAY,MAAM,IAAI,YAAY,OAAO;AAAA,EACjD;AAAA,EAEA,WAAW,SAA8B;AACxC,cAAA,EAAY,WAAW,OAAO;AAAA,EAC/B;AACD;AAEO,MAAM,SAAiB,IAAI,mBAAA;AAE3B,MAAM,aAAa,CAAIA,SAAgB,aAAyB;AACtE,SAAO,YAAY,IAAIA,SAAQ,QAAQ;AACxC;AAEO,MAAM,YAAY,MAAc;AACtC,QAAMA,UAAS,YAAY,SAAA;AAC3B,MAAI,CAACA,SAAQ;AACZ,UAAM,IAAI,MAAM,oBAAoB;AAAA,EACrC;AACA,SAAOA;AACR;"}
|
|
1
|
+
{"version":3,"file":"proxy.js","sources":["../../../../packages/logger/src/proxy.ts"],"sourcesContent":["import { Logger, LoggerAttributes, LoggerHandler, LoggerOptions } from './types.js'\nimport { AsyncLocalStorage } from 'node:async_hooks'\n\nconst loggerStore = new AsyncLocalStorage<Logger>()\n\nclass CurrentLoggerProxy implements Logger {\n\tcrit(a: any, b?: any, c?: any) {\n\t\tgetLogger().crit(a, b)\n\t}\n\n\terror(a: any, b?: any, c?: any) {\n\t\tgetLogger().error(a, b)\n\t}\n\n\twarn(a: any, b?: any, c?: any) {\n\t\tgetLogger().warn(a, b)\n\t}\n\n\tinfo(a: any, b?: any, c?: any) {\n\t\tgetLogger().info(a, b)\n\t}\n\n\tdebug(a: any, b?: any, c?: any) {\n\t\tgetLogger().debug(a, b)\n\t}\n\n\tlog(level: any, a: any, b?: any, c?: any) {\n\t\tgetLogger().log(level, a, b)\n\t}\n\n\tchild(attributes?: LoggerAttributes, options?: Partial<LoggerOptions>): Logger {\n\t\treturn getLogger().child(attributes, options)\n\t}\n\n\tget attributes() {\n\t\treturn getLogger().attributes\n\t}\n\n\tclose(): void {\n\t\tgetLogger().close()\n\t}\n\n\tscope<T>(cb: (logger: Logger) => Promise<T> | T, attributes?: LoggerAttributes, options?: Partial<LoggerOptions>): Promise<T> {\n\t\treturn getLogger().scope(cb, attributes, options)\n\t}\n\n\taddHandler(handler: LoggerHandler): void {\n\t\tgetLogger().addHandler(handler)\n\t}\n}\n\nexport const logger: Logger = new CurrentLoggerProxy()\n\nexport const withLogger = <R>(logger: Logger, callback: () => R): R => {\n\treturn loggerStore.run(logger, callback)\n}\n\nexport const getLogger = (): Logger => {\n\tconst logger = loggerStore.getStore()\n\tif (!logger) {\n\t\tthrow new Error('Logger was not set')\n\t}\n\treturn logger\n}\n\nexport const tryGetLogger = (): Logger | undefined => loggerStore.getStore()\n"],"names":["logger"],"mappings":";AAGA,MAAM,cAAc,IAAI,kBAAA;AAExB,MAAM,mBAAqC;AAAA,EAC1C,KAAK,GAAQ,GAAS,GAAS;AAC9B,gBAAY,KAAK,GAAG,CAAC;AAAA,EACtB;AAAA,EAEA,MAAM,GAAQ,GAAS,GAAS;AAC/B,gBAAY,MAAM,GAAG,CAAC;AAAA,EACvB;AAAA,EAEA,KAAK,GAAQ,GAAS,GAAS;AAC9B,gBAAY,KAAK,GAAG,CAAC;AAAA,EACtB;AAAA,EAEA,KAAK,GAAQ,GAAS,GAAS;AAC9B,gBAAY,KAAK,GAAG,CAAC;AAAA,EACtB;AAAA,EAEA,MAAM,GAAQ,GAAS,GAAS;AAC/B,gBAAY,MAAM,GAAG,CAAC;AAAA,EACvB;AAAA,EAEA,IAAI,OAAY,GAAQ,GAAS,GAAS;AACzC,cAAA,EAAY,IAAI,OAAO,GAAG,CAAC;AAAA,EAC5B;AAAA,EAEA,MAAM,YAA+B,SAA0C;AAC9E,WAAO,UAAA,EAAY,MAAM,YAAY,OAAO;AAAA,EAC7C;AAAA,EAEA,IAAI,aAAa;AAChB,WAAO,YAAY;AAAA,EACpB;AAAA,EAEA,QAAc;AACb,cAAA,EAAY,MAAA;AAAA,EACb;AAAA,EAEA,MAAS,IAAwC,YAA+B,SAA8C;AAC7H,WAAO,UAAA,EAAY,MAAM,IAAI,YAAY,OAAO;AAAA,EACjD;AAAA,EAEA,WAAW,SAA8B;AACxC,cAAA,EAAY,WAAW,OAAO;AAAA,EAC/B;AACD;AAEO,MAAM,SAAiB,IAAI,mBAAA;AAE3B,MAAM,aAAa,CAAIA,SAAgB,aAAyB;AACtE,SAAO,YAAY,IAAIA,SAAQ,QAAQ;AACxC;AAEO,MAAM,YAAY,MAAc;AACtC,QAAMA,UAAS,YAAY,SAAA;AAC3B,MAAI,CAACA,SAAQ;AACZ,UAAM,IAAI,MAAM,oBAAoB;AAAA,EACrC;AACA,SAAOA;AACR;AAEO,MAAM,eAAe,MAA0B,YAAY,SAAA;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"formatting.d.ts","sourceRoot":"","sources":["../../src/formatting.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,gBAAgB,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"formatting.d.ts","sourceRoot":"","sources":["../../src/formatting.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAA;AAGvD,MAAM,MAAM,mBAAmB,GAAG;IACjC,mBAAmB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAC3C,aAAa,EAAE,MAAM,CAAA;CACrB,CAAA;AAED,eAAO,MAAM,sBAAsB,qBAAsB,mBAAmB,GAAG,SAAS,iBAAiB,gBAAgB,KAAG,mBAsB3H,CAAA;AAED,eAAO,MAAM,wBAAwB,eAAgB,mBAAmB,SAAS,QAAQ,KAAG,MA6B3F,CAAA;AAED,eAAO,MAAM,SAAS,UAAW,OAAO,WAMvC,CAAA"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { LogEntry, LoggerHandler, LoggerHandlerFactory, LogLevel } from '../types';
|
|
1
|
+
import { LogEntry, LoggerHandler, LoggerHandlerFactory, LogLevel } from '../types.js';
|
|
2
2
|
export interface FingerCrossedLoggerHandlerOptions {
|
|
3
3
|
logAlwaysLevel: LogLevel;
|
|
4
4
|
logWhenActivatedLevel: LogLevel;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FingerCrossedLoggerHandler.d.ts","sourceRoot":"","sources":["../../../src/handlers/FingerCrossedLoggerHandler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,oBAAoB,EAAE,QAAQ,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"FingerCrossedLoggerHandler.d.ts","sourceRoot":"","sources":["../../../src/handlers/FingerCrossedLoggerHandler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,oBAAoB,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAA;AAGrF,MAAM,WAAW,iCAAiC;IACjD,cAAc,EAAE,QAAQ,CAAA;IACxB,qBAAqB,EAAE,QAAQ,CAAA;IAC/B,eAAe,EAAE,QAAQ,CAAA;IACzB,aAAa,EAAE,MAAM,CAAA;CACrB;AAED,qBAAa,0BAA2B,YAAW,aAAa;IAO9D,OAAO,CAAC,QAAQ,CAAC,KAAK;IANvB,OAAO,CAAC,MAAM,CAAiB;IAE/B,OAAO,CAAC,MAAM,CAAiB;IAC/B,OAAO,CAAC,OAAO,CAAmC;IAElD,YACkB,KAAK,EAAE,aAAa,EACrC,OAAO,GAAE,OAAO,CAAC,iCAAiC,CAAM,EAYxD;IAED,OAAc,OAAO,CAAC,OAAO,GAAE,OAAO,CAAC,iCAAiC,CAAM,GAAG,oBAAoB,CAEpG;IAED,WAAW,IAAI,MAAM,CAEpB;IAED,MAAM,CAAC,QAAQ,EAAE,QAAQ,GAAG,IAAI,CAwB/B;IAED,KAAK,IAAI,IAAI,CAGZ;IAED,OAAO,CAAC,OAAO;CASf"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"JsonStreamLoggerHandler.d.ts","sourceRoot":"","sources":["../../../src/handlers/JsonStreamLoggerHandler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"JsonStreamLoggerHandler.d.ts","sourceRoot":"","sources":["../../../src/handlers/JsonStreamLoggerHandler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAA;AAG/D,MAAM,WAAW,8BAA8B;IAC9C,QAAQ,EAAE,QAAQ,CAAA;CAClB;AAED,qBAAa,uBAAwB,YAAW,aAAa;IAI3D,OAAO,CAAC,QAAQ,CAAC,MAAM;IAHxB,OAAO,CAAC,OAAO,CAAgC;IAE/C,YACkB,MAAM,EAAE,MAAM,CAAC,cAAc,EAC9C,OAAO,GAAE,OAAO,CAAC,8BAA8B,CAAM,EAMrD;IAED,MAAM,CAAC,KAAK,EAAE,QAAQ,GAAG,IAAI,CAQ5B;IAED,WAAW,IAAI,MAAM,CAEpB;IAED,KAAK,IAAI,IAAI,CACZ;CACD"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LoggerHandlerList.d.ts","sourceRoot":"","sources":["../../../src/handlers/LoggerHandlerList.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"LoggerHandlerList.d.ts","sourceRoot":"","sources":["../../../src/handlers/LoggerHandlerList.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AAErD,qBAAa,iBAAkB,YAAW,aAAa;IAErD,OAAO,CAAC,QAAQ,CAAC,UAAU;IAD5B,YACkB,UAAU,GAAE,aAAa,EAAO,EAEjD;IAED,WAAW,IAAI,MAAM,CAEpB;IAEM,UAAU,CAAC,SAAS,EAAE,aAAa,QAEzC;IAED,MAAM,CAAC,QAAQ,EAAE,QAAQ,QAIxB;IAED,KAAK,IAAI,IAAI,CAIZ;CACD"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NullLoggerHandler.d.ts","sourceRoot":"","sources":["../../../src/handlers/NullLoggerHandler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"NullLoggerHandler.d.ts","sourceRoot":"","sources":["../../../src/handlers/NullLoggerHandler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AAE3C,qBAAa,iBAAkB,YAAW,aAAa;IACtD,KAAK,IAAI,IAAI,CACZ;IAED,WAAW,IAAI,MAAM,CAEpB;IAED,MAAM,IAAI,IAAI,CACb;CACD"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import chalk from 'chalk';
|
|
2
|
-
import { LogEntry, LoggerAttributes, LoggerHandler, LogLevel } from '../types';
|
|
2
|
+
import { LogEntry, LoggerAttributes, LoggerHandler, LogLevel } from '../types.js';
|
|
3
3
|
export interface PrettyPrintLoggerHandlerOptions {
|
|
4
4
|
logLevel: LogLevel;
|
|
5
5
|
formatters: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PrettyPrintLoggerHandler.d.ts","sourceRoot":"","sources":["../../../src/handlers/PrettyPrintLoggerHandler.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,OAAO,EAAE,QAAQ,EAAE,gBAAgB,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"PrettyPrintLoggerHandler.d.ts","sourceRoot":"","sources":["../../../src/handlers/PrettyPrintLoggerHandler.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,OAAO,EAAE,QAAQ,EAAE,gBAAgB,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAA;AAGjF,MAAM,WAAW,+BAA+B;IAC/C,QAAQ,EAAE,QAAQ,CAAA;IAClB,UAAU,EAAE;QACX,CAAC,GAAG,EAAE,MAAM,GAAG,CACd,IAAI,EAAE;YAAE,KAAK,EAAE,GAAG,CAAC;YAAC,cAAc,EAAE,MAAM,CAAC;YAAC,GAAG,EAAE,MAAM,CAAC;YAAC,KAAK,EAAE,OAAO,KAAK,CAAC;YAAC,UAAU,EAAE,gBAAgB,CAAA;SAAE,KACxG,SAAS,GAAG,MAAM,GAAG;YAAE,IAAI,EAAE,MAAM,CAAA;SAAE,CAAA;KAC1C,CAAA;CACD;AAED,qBAAa,wBAAyB,YAAW,aAAa;IAI5D,OAAO,CAAC,QAAQ,CAAC,MAAM;IAHxB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAiC;IAEzD,YACkB,MAAM,EAAE,MAAM,CAAC,cAAc,EAC9C,OAAO,GAAE,OAAO,CAAC,+BAA+B,CAAM,EAOtD;IAED,WAAW,IAAI,MAAM,CAEpB;IAED,MAAM,CAAC,KAAK,EAAE,QAAQ,QAkCrB;IAED,OAAO,CAAC,UAAU;IAQlB,OAAO,CAAC,WAAW;IAenB,KAAK,IAAI,IAAI,CACZ;CACD"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TestLoggerHandler.d.ts","sourceRoot":"","sources":["../../../src/handlers/TestLoggerHandler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"TestLoggerHandler.d.ts","sourceRoot":"","sources":["../../../src/handlers/TestLoggerHandler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AAErD,qBAAa,iBAAkB,YAAW,aAAa;IAIrD,OAAO,CAAC,KAAK;IAHd,SAAgB,QAAQ,EAAE,QAAQ,EAAE,CAAK;IAEzC,YACS,KAAK,UAAQ,EAErB;IAED,KAAK,IAAI,IAAI,CACZ;IAED,WAAW,IAAI,MAAM,CAEpB;IAED,MAAM,CAAC,QAAQ,EAAE,QAAQ,GAAG,IAAI,CAK/B;CACD"}
|
package/dist/types/impl.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Logger, LoggerAttributes, LoggerChildOptions, LoggerHandler, LoggerOptions, LogLevelName } from './types';
|
|
1
|
+
import { Logger, LoggerAttributes, LoggerChildOptions, LoggerHandler, LoggerOptions, LogLevelName } from './types.js';
|
|
2
2
|
export declare const createLogger: (handler: LoggerHandler, attributes?: LoggerAttributes, options?: LoggerOptions) => Logger;
|
|
3
3
|
export declare class LoggerImpl implements Logger {
|
|
4
4
|
private handler;
|
package/dist/types/impl.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"impl.d.ts","sourceRoot":"","sources":["../../src/impl.ts"],"names":[],"mappings":"AAAA,OAAO,EAGN,MAAM,EACN,gBAAgB,EAChB,kBAAkB,EAClB,aAAa,EACb,aAAa,EAEb,YAAY,EACZ,MAAM,
|
|
1
|
+
{"version":3,"file":"impl.d.ts","sourceRoot":"","sources":["../../src/impl.ts"],"names":[],"mappings":"AAAA,OAAO,EAGN,MAAM,EACN,gBAAgB,EAChB,kBAAkB,EAClB,aAAa,EACb,aAAa,EAEb,YAAY,EACZ,MAAM,YAAY,CAAA;AAMnB,eAAO,MAAM,YAAY,YACf,aAAa,eACV,gBAAgB,YACnB,aAAa,KACpB,MAEF,CAAA;AAED,qBAAa,UAAW,YAAW,MAAM;IAOvC,OAAO,CAAC,OAAO;IACf,OAAO,CAAC,QAAQ,CAAC,aAAa;IAC9B,OAAO,CAAC,QAAQ,CAAC,KAAK;IACtB,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,OAAO;IAVzB,SAAgB,UAAU,EAAE,gBAAgB,CAAA;IAC5C,OAAO,CAAC,mBAAmB,CAAiC;IAC5D,OAAO,CAAC,aAAa,CAAQ;IAC7B,OAAO,CAAC,WAAW,CAA+B;IAElD,OAAO,eASN;IAED,OAAc,MAAM,CACnB,OAAO,EAAE,aAAa,EACtB,UAAU,GAAE,gBAAqB,EACjC,OAAO,GAAE,aAAkB,cAG3B;IAEM,IAAI,CAAC,cAAc,EAAE,OAAO,EAAE,UAAU,CAAC,EAAE,gBAAgB,QAEjE;IAEM,KAAK,CAAC,cAAc,EAAE,OAAO,EAAE,UAAU,CAAC,EAAE,gBAAgB,QAElE;IAEM,IAAI,CAAC,cAAc,EAAE,OAAO,EAAE,UAAU,CAAC,EAAE,gBAAgB,QAEjE;IAEM,IAAI,CAAC,cAAc,EAAE,OAAO,EAAE,UAAU,CAAC,EAAE,gBAAgB,QAEjE;IAEM,KAAK,CAAC,cAAc,EAAE,OAAO,EAAE,UAAU,CAAC,EAAE,gBAAgB,QAElE;IAEM,GAAG,CAAC,SAAS,EAAE,YAAY,EAAE,cAAc,EAAE,OAAO,EAAE,UAAU,CAAC,EAAE,gBAAgB,QAGzF;IAEM,KAAK,CAAC,UAAU,GAAE,gBAAqB,EAAE,OAAO,GAAE,OAAO,CAAC,kBAAkB,CAAM,GAAG,MAAM,CAGjG;IAEY,KAAK,CAAC,CAAC,EACnB,EAAE,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,EACtC,UAAU,GAAE,gBAAqB,EACjC,OAAO,GAAE,OAAO,CAAC,kBAAkB,CAAM,GACvC,OAAO,CAAC,CAAC,CAAC,CAOZ;IAED,OAAO,CAAC,KAAK;IAoCb,UAAU,CAAC,OAAO,EAAE,aAAa,GAAG,IAAI,CAOvC;IAED,KAAK,IAAI,IAAI,CAEZ;IAED,OAAO,CAAC,sBAAsB;CAQ9B"}
|
package/dist/types/index.d.ts
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
export { createLogger } from './impl';
|
|
2
|
-
export * from './types';
|
|
3
|
-
export * from './levels';
|
|
4
|
-
export * from './proxy';
|
|
5
|
-
export * from './handlers/FingerCrossedLoggerHandler';
|
|
6
|
-
export * from './handlers/JsonStreamLoggerHandler';
|
|
7
|
-
export * from './handlers/PrettyPrintLoggerHandler';
|
|
8
|
-
export * from './handlers/LoggerHandlerList';
|
|
9
|
-
export * from './handlers/NullLoggerHandler';
|
|
10
|
-
export * from './handlers/TestLoggerHandler';
|
|
1
|
+
export { createLogger } from './impl.js';
|
|
2
|
+
export * from './types.js';
|
|
3
|
+
export * from './levels.js';
|
|
4
|
+
export * from './proxy.js';
|
|
5
|
+
export * from './handlers/FingerCrossedLoggerHandler.js';
|
|
6
|
+
export * from './handlers/JsonStreamLoggerHandler.js';
|
|
7
|
+
export * from './handlers/PrettyPrintLoggerHandler.js';
|
|
8
|
+
export * from './handlers/LoggerHandlerList.js';
|
|
9
|
+
export * from './handlers/NullLoggerHandler.js';
|
|
10
|
+
export * from './handlers/TestLoggerHandler.js';
|
|
11
11
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAA;AACxC,cAAc,YAAY,CAAA;AAC1B,cAAc,aAAa,CAAA;AAC3B,cAAc,YAAY,CAAA;AAC1B,cAAc,0CAA0C,CAAA;AACxD,cAAc,uCAAuC,CAAA;AACrD,cAAc,wCAAwC,CAAA;AACtD,cAAc,iCAAiC,CAAA;AAC/C,cAAc,iCAAiC,CAAA;AAC/C,cAAc,iCAAiC,CAAA"}
|
package/dist/types/levels.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"levels.d.ts","sourceRoot":"","sources":["../../src/levels.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"levels.d.ts","sourceRoot":"","sources":["../../src/levels.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAA;AAEzC,eAAO,MAAM,SAAS,EAAE;KAAG,CAAC,IAAI,YAAY,GAAG;QAAE,IAAI,EAAE,CAAC,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE;CAMxE,CAAA"}
|
package/dist/types/proxy.d.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
|
-
import { Logger } from './types';
|
|
1
|
+
import { Logger } from './types.js';
|
|
2
2
|
export declare const logger: Logger;
|
|
3
3
|
export declare const withLogger: <R>(logger: Logger, callback: () => R) => R;
|
|
4
4
|
export declare const getLogger: () => Logger;
|
|
5
|
+
export declare const tryGetLogger: () => Logger | undefined;
|
|
5
6
|
//# sourceMappingURL=proxy.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"proxy.d.ts","sourceRoot":"","sources":["../../src/proxy.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAkD,MAAM,
|
|
1
|
+
{"version":3,"file":"proxy.d.ts","sourceRoot":"","sources":["../../src/proxy.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAkD,MAAM,YAAY,CAAA;AAmDnF,eAAO,MAAM,MAAM,EAAE,MAAiC,CAAA;AAEtD,eAAO,MAAM,UAAU,GAAI,CAAC,UAAU,MAAM,YAAY,MAAM,CAAC,KAAG,CAEjE,CAAA;AAED,eAAO,MAAM,SAAS,QAAO,MAM5B,CAAA;AAED,eAAO,MAAM,YAAY,QAAO,MAAM,GAAG,SAAmC,CAAA"}
|