@nx-ddd/logging 19.84.0 → 19.86.0
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/fesm2022/nx-ddd-logging-base.mjs +1 -1
- package/fesm2022/nx-ddd-logging-console.mjs +0 -1
- package/fesm2022/nx-ddd-logging-factory.mjs +0 -1
- package/fesm2022/nx-ddd-logging-file.mjs +0 -1
- package/fesm2022/nx-ddd-logging-format.mjs +0 -1
- package/fesm2022/nx-ddd-logging-http.mjs +0 -1
- package/fesm2022/nx-ddd-logging-tee.mjs +0 -1
- package/fesm2022/nx-ddd-logging.mjs +1 -1
- package/package.json +1 -1
- package/types/nx-ddd-logging-base.d.ts +2 -2
- package/types/nx-ddd-logging-console.d.ts +0 -1
- package/types/nx-ddd-logging-factory.d.ts +0 -1
- package/types/nx-ddd-logging-file.d.ts +0 -1
- package/types/nx-ddd-logging-format.d.ts +0 -1
- package/types/nx-ddd-logging-http.d.ts +0 -1
- package/types/nx-ddd-logging-tee.d.ts +0 -1
- package/types/nx-ddd-logging.d.ts +2 -2
- package/fesm2022/nx-ddd-logging-base.mjs.map +0 -1
- package/fesm2022/nx-ddd-logging-console.mjs.map +0 -1
- package/fesm2022/nx-ddd-logging-factory.mjs.map +0 -1
- package/fesm2022/nx-ddd-logging-file.mjs.map +0 -1
- package/fesm2022/nx-ddd-logging-format.mjs.map +0 -1
- package/fesm2022/nx-ddd-logging-http.mjs.map +0 -1
- package/fesm2022/nx-ddd-logging-tee.mjs.map +0 -1
- package/fesm2022/nx-ddd-logging.mjs.map +0 -1
- package/types/nx-ddd-logging-base.d.ts.map +0 -1
- package/types/nx-ddd-logging-console.d.ts.map +0 -1
- package/types/nx-ddd-logging-factory.d.ts.map +0 -1
- package/types/nx-ddd-logging-file.d.ts.map +0 -1
- package/types/nx-ddd-logging-format.d.ts.map +0 -1
- package/types/nx-ddd-logging-http.d.ts.map +0 -1
- package/types/nx-ddd-logging-tee.d.ts.map +0 -1
- package/types/nx-ddd-logging.d.ts.map +0 -1
|
@@ -8,6 +8,7 @@ var LogLevel;
|
|
|
8
8
|
LogLevel[LogLevel["WARN"] = 2] = "WARN";
|
|
9
9
|
LogLevel[LogLevel["ERROR"] = 3] = "ERROR";
|
|
10
10
|
LogLevel[LogLevel["FATAL"] = 4] = "FATAL";
|
|
11
|
+
LogLevel[LogLevel["SILENT"] = 5] = "SILENT";
|
|
11
12
|
})(LogLevel || (LogLevel = {}));
|
|
12
13
|
|
|
13
14
|
const LOGGER = new InjectionToken('Logger');
|
|
@@ -68,4 +69,3 @@ function provideLogFilterFromEnv() {
|
|
|
68
69
|
*/
|
|
69
70
|
|
|
70
71
|
export { BaseLogger, LOGGER, LOG_FILTER, LogLevel, provideLogFilter, provideLogFilterFromEnv, provideLogFilterWithConfig, provideLogger };
|
|
71
|
-
//# sourceMappingURL=nx-ddd-logging-base.mjs.map
|
|
@@ -9,6 +9,7 @@ var LogLevel;
|
|
|
9
9
|
LogLevel[LogLevel["WARN"] = 2] = "WARN";
|
|
10
10
|
LogLevel[LogLevel["ERROR"] = 3] = "ERROR";
|
|
11
11
|
LogLevel[LogLevel["FATAL"] = 4] = "FATAL";
|
|
12
|
+
LogLevel[LogLevel["SILENT"] = 5] = "SILENT";
|
|
12
13
|
})(LogLevel || (LogLevel = {}));
|
|
13
14
|
|
|
14
15
|
const LOGGER = new InjectionToken('Logger');
|
|
@@ -162,4 +163,3 @@ function provideGlobalLogging() {
|
|
|
162
163
|
*/
|
|
163
164
|
|
|
164
165
|
export { BaseLogger, LOGGER, LOGGING_SERVICE, LOG_FILTER, LogLevel, LoggingService, createLogger, getGlobalLogging, getLogger, globalLogging as logging, provideGlobalLogging, provideLogFilter, provideLogFilterFromEnv, provideLogFilterWithConfig, provideLogger, setGlobalLogging };
|
|
165
|
-
//# sourceMappingURL=nx-ddd-logging.mjs.map
|
package/package.json
CHANGED
|
@@ -6,7 +6,8 @@ declare enum LogLevel {
|
|
|
6
6
|
INFO = 1,
|
|
7
7
|
WARN = 2,
|
|
8
8
|
ERROR = 3,
|
|
9
|
-
FATAL = 4
|
|
9
|
+
FATAL = 4,
|
|
10
|
+
SILENT = 5
|
|
10
11
|
}
|
|
11
12
|
interface LogContext {
|
|
12
13
|
component?: string;
|
|
@@ -53,4 +54,3 @@ declare function provideLogFilterFromEnv(): Provider;
|
|
|
53
54
|
|
|
54
55
|
export { BaseLogger, LOGGER, LOG_FILTER, LogLevel, provideLogFilter, provideLogFilterFromEnv, provideLogFilterWithConfig, provideLogger };
|
|
55
56
|
export type { ILoggingService, LogContext, LogFilterConfig, LogFilterFn };
|
|
56
|
-
//# sourceMappingURL=nx-ddd-logging-base.d.ts.map
|
|
@@ -48,4 +48,3 @@ declare function provideHttpLogger(options: HttpLoggerOptions): Provider;
|
|
|
48
48
|
|
|
49
49
|
export { DEFAULT_HTTP_FLUSH_INTERVAL_MS, DEFAULT_HTTP_MAX_BATCH, DEFAULT_HTTP_MAX_BUFFER, HttpLogger, provideHttpLogger };
|
|
50
50
|
export type { HttpLogRecord, HttpLoggerOptions };
|
|
51
|
-
//# sourceMappingURL=nx-ddd-logging-http.d.ts.map
|
|
@@ -7,7 +7,8 @@ declare enum LogLevel {
|
|
|
7
7
|
INFO = 1,
|
|
8
8
|
WARN = 2,
|
|
9
9
|
ERROR = 3,
|
|
10
|
-
FATAL = 4
|
|
10
|
+
FATAL = 4,
|
|
11
|
+
SILENT = 5
|
|
11
12
|
}
|
|
12
13
|
interface LogContext {
|
|
13
14
|
component?: string;
|
|
@@ -91,4 +92,3 @@ declare function provideGlobalLogging(): EnvironmentProviders;
|
|
|
91
92
|
|
|
92
93
|
export { BaseLogger, LOGGER, LOGGING_SERVICE, LOG_FILTER, LogLevel, LoggingService, createLogger, getGlobalLogging, getLogger, globalLogging as logging, provideGlobalLogging, provideLogFilter, provideLogFilterFromEnv, provideLogFilterWithConfig, provideLogger, setGlobalLogging };
|
|
93
94
|
export type { ILoggingService, LogContext, LogFilterConfig, LogFilterFn, Logger, LoggerMeta };
|
|
94
|
-
//# sourceMappingURL=nx-ddd-logging.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"nx-ddd-logging-base.mjs","sources":["../../../../../packages/@nx-ddd/logging/src/lib/base/interfaces.ts","../../../../../packages/@nx-ddd/logging/src/lib/base/base.logger.ts","../../../../../packages/@nx-ddd/logging/src/lib/base/log-filter.ts","../../../../../packages/@nx-ddd/logging/src/lib/base/providers.ts","../../../../../packages/@nx-ddd/logging/src/lib/base/nx-ddd-logging-base.ts"],"sourcesContent":["\n\nexport enum LogLevel {\n DEBUG = 0,\n INFO = 1,\n WARN = 2,\n ERROR = 3,\n FATAL = 4,\n}\n\nexport interface LogContext {\n component?: string;\n package?: string;\n sessionId?: string;\n clientId?: string;\n [key: string]: any;\n}\n\nexport interface ILoggingService {\n \n debug(message: string, context?: LogContext): void;\n\n \n info(message: string, context?: LogContext): void;\n\n \n warn(message: string, context?: LogContext): void;\n\n \n error(message: string, error?: Error, context?: LogContext): void;\n\n \n fatal(message: string, error?: Error, context?: LogContext): void;\n\n \n setLogLevel(level: LogLevel): void;\n\n \n setComponent(component: string): void;\n\n \n close(): void;\n}\n","\n\nimport { Injectable, InjectionToken, Provider } from '@angular/core';\nimport { LogLevel, LogContext } from './interfaces';\n\nexport const LOGGER = new InjectionToken<BaseLogger>('Logger');\n\n@Injectable()\nexport abstract class BaseLogger {\n \n abstract log(\n level: LogLevel,\n message: string,\n context?: LogContext,\n error?: Error\n ): void;\n\n \n abstract close(): void;\n\n \n debug(message: string, context?: LogContext): void {\n this.log(LogLevel.DEBUG, message, context);\n }\n\n info(message: string, context?: LogContext): void {\n this.log(LogLevel.INFO, message, context);\n }\n\n warn(message: string, context?: LogContext): void {\n this.log(LogLevel.WARN, message, context);\n }\n\n error(message: string, error?: Error, context?: LogContext): void {\n this.log(LogLevel.ERROR, message, context, error);\n }\n\n fatal(message: string, error?: Error, context?: LogContext): void {\n this.log(LogLevel.FATAL, message, context, error);\n }\n}\n\nexport function provideLogger(useFactory: () => BaseLogger): Provider {\n return {\n provide: LOGGER,\n multi: true,\n useFactory,\n };\n}\n","\n\nimport { InjectionToken } from '@angular/core';\nimport { LogLevel, LogContext } from './interfaces';\n\n\nexport type LogFilterFn = (level: LogLevel, context?: LogContext) => boolean;\n\nexport const LOG_FILTER = new InjectionToken<LogFilterFn>('LogFilter');\n","\n\nimport { Provider } from '@angular/core';\nimport { LogLevel } from './interfaces';\nimport { LOG_FILTER, LogFilterFn } from './log-filter';\n\n\nexport function provideLogFilter(filter: LogFilterFn): Provider {\n return { provide: LOG_FILTER, useValue: filter };\n}\n\n\nexport interface LogFilterConfig {\n minLevel?: LogLevel;\n componentPattern?: string;\n}\n\n\nexport function provideLogFilterWithConfig(config?: LogFilterConfig): Provider {\n const minLevel = config?.minLevel ?? LogLevel.WARN;\n const componentRegex = config?.componentPattern ? new RegExp(config.componentPattern) : null;\n\n return provideLogFilter((level, context) => {\n if (level < minLevel) return false;\n if (componentRegex && context?.component && !componentRegex.test(context.component)) {\n return false;\n }\n return true;\n });\n}\n\n\nexport function provideLogFilterFromEnv(): Provider {\n console.warn('[DEPRECATED] provideLogFilterFromEnv() is deprecated. Use provideLogFilterWithConfig() instead.');\n return provideLogFilterWithConfig();\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"nx-ddd-logging-console.mjs","sources":["../../../../../packages/@nx-ddd/logging/src/lib/console/console.logger.ts","../../../../../packages/@nx-ddd/logging/src/lib/console/nx-ddd-logging-console.ts"],"sourcesContent":["\n\nimport { Provider } from '@angular/core';\nimport { BaseLogger, LogLevel, LogContext, LOGGER } from '@nx-ddd/logging/base';\nimport { buildLogRecord, formatText } from '@nx-ddd/logging/format';\n\nexport interface ConsoleLoggerOptions {\n minLevel?: LogLevel;\n componentFilter?: string; \n \n useStderr?: boolean;\n format?: 'legacy' | 'pretty';\n color?: boolean;\n}\n\nexport class ConsoleLogger extends BaseLogger {\n private readonly minLevel: LogLevel;\n private readonly useStderr: boolean;\n private readonly format: 'legacy' | 'pretty';\n private readonly color?: boolean;\n\n constructor(options?: ConsoleLoggerOptions) {\n super();\n this.minLevel = options?.minLevel ?? LogLevel.WARN;\n this.useStderr = options?.useStderr ?? false;\n this.format = options?.format ?? 'legacy';\n this.color = options?.color;\n }\n\n log(level: LogLevel, message: string, context?: LogContext, error?: Error): void {\n \n if (level < this.minLevel) return;\n\n if (this.format === 'pretty') {\n const record = buildLogRecord(level, message, context, error);\n const line = formatText(record, { color: this.color ?? this.detectTty() });\n if (this.useStderr) {\n console.error(line);\n } else {\n console.log(line);\n }\n return;\n }\n\n const { component, package: _pkg, ...restCtx } = context ?? {};\n const source = component != null ? `[${component}] ` : '';\n const args: any[] = [`[${LogLevel[level]}] ${source}${message}`];\n if (Object.keys(restCtx).length > 0) args.push(restCtx);\n if (error != null) args.push(error);\n if (this.useStderr) {\n console.error(...args);\n } else {\n console.log(...args);\n }\n }\n\n private detectTty(): boolean {\n const proc = (globalThis as { process?: { stderr?: { isTTY?: boolean }; stdout?: { isTTY?: boolean } } }).process;\n const stream = this.useStderr ? proc?.stderr : proc?.stdout;\n return Boolean(stream?.isTTY);\n }\n\n close(): void {\n void 0;\n }\n}\n\n\nexport function provideConsoleLogger(options?: ConsoleLoggerOptions): Provider {\n return {\n provide: LOGGER,\n multi: true,\n useFactory: () => new ConsoleLogger(options)\n };\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;AAeM,MAAO,aAAc,SAAQ,UAAU,CAAA;AAC1B,IAAA,QAAQ;AACR,IAAA,SAAS;AACT,IAAA,MAAM;AACN,IAAA,KAAK;AAEtB,IAAA,WAAA,CAAY,OAA8B,EAAA;AACxC,QAAA,KAAK,EAAE;QACP,IAAI,CAAC,QAAQ,GAAG,OAAO,EAAE,QAAQ,IAAI,QAAQ,CAAC,IAAI;QAClD,IAAI,CAAC,SAAS,GAAG,OAAO,EAAE,SAAS,IAAI,KAAK;QAC5C,IAAI,CAAC,MAAM,GAAG,OAAO,EAAE,MAAM,IAAI,QAAQ;AACzC,QAAA,IAAI,CAAC,KAAK,GAAG,OAAO,EAAE,KAAK;IAC7B;AAEA,IAAA,GAAG,CAAC,KAAe,EAAE,OAAe,EAAE,OAAoB,EAAE,KAAa,EAAA;AAEvE,QAAA,IAAI,KAAK,GAAG,IAAI,CAAC,QAAQ;YAAE;AAE3B,QAAA,IAAI,IAAI,CAAC,MAAM,KAAK,QAAQ,EAAE;AAC5B,YAAA,MAAM,MAAM,GAAG,cAAc,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,CAAC;AAC7D,YAAA,MAAM,IAAI,GAAG,UAAU,CAAC,MAAM,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,SAAS,EAAE,EAAE,CAAC;AAC1E,YAAA,IAAI,IAAI,CAAC,SAAS,EAAE;AAClB,gBAAA,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC;YACrB;iBAAO;AACL,gBAAA,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC;YACnB;YACA;QACF;AAEA,QAAA,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,IAAI,EAAE,GAAG,OAAO,EAAE,GAAG,OAAO,IAAI,EAAE;AAC9D,QAAA,MAAM,MAAM,GAAG,SAAS,IAAI,IAAI,GAAG,CAAA,CAAA,EAAI,SAAS,CAAA,EAAA,CAAI,GAAG,EAAE;AACzD,QAAA,MAAM,IAAI,GAAU,CAAC,CAAA,CAAA,EAAI,QAAQ,CAAC,KAAK,CAAC,CAAA,EAAA,EAAK,MAAM,CAAA,EAAG,OAAO,CAAA,CAAE,CAAC;QAChE,IAAI,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,MAAM,GAAG,CAAC;AAAE,YAAA,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC;QACvD,IAAI,KAAK,IAAI,IAAI;AAAE,YAAA,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC;AACnC,QAAA,IAAI,IAAI,CAAC,SAAS,EAAE;AAClB,YAAA,OAAO,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC;QACxB;aAAO;AACL,YAAA,OAAO,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC;QACtB;IACF;IAEQ,SAAS,GAAA;AACf,QAAA,MAAM,IAAI,GAAI,UAA2F,CAAC,OAAO;AACjH,QAAA,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,GAAG,IAAI,EAAE,MAAM,GAAG,IAAI,EAAE,MAAM;AAC3D,QAAA,OAAO,OAAO,CAAC,MAAM,EAAE,KAAK,CAAC;IAC/B;IAEA,KAAK,GAAA;AACH,QAAA,KAAK,CAAC;IACR;AACD;AAGK,SAAU,oBAAoB,CAAC,OAA8B,EAAA;IACjE,OAAO;AACL,QAAA,OAAO,EAAE,MAAM;AACf,QAAA,KAAK,EAAE,IAAI;QACX,UAAU,EAAE,MAAM,IAAI,aAAa,CAAC,OAAO;KAC5C;AACH;;AC1EA;;AAEG;;;;"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"nx-ddd-logging-factory.mjs","sources":["../../../../../packages/@nx-ddd/logging/src/lib/factory/log-scope.ts","../../../../../packages/@nx-ddd/logging/src/lib/factory/logger-factory.ts","../../../../../packages/@nx-ddd/logging/src/lib/factory/nx-ddd-logging-factory.ts"],"sourcesContent":["import { inject, InjectionToken, Provider } from '@angular/core';\n\nexport const LOG_SCOPE = new InjectionToken<string>('LogScope');\n\nexport function provideLogScope(segment: string): Provider {\n return {\n provide: LOG_SCOPE,\n useFactory: () => {\n const parent = inject(LOG_SCOPE, { optional: true, skipSelf: true });\n return parent != null ? `${parent}.${segment}` : segment;\n },\n };\n}\n","import { inject } from '@angular/core';\nimport { getLogger as getGlobalLogger, Logger, LoggingService } from '@nx-ddd/logging';\nimport { LOG_SCOPE } from './log-scope';\n\nexport interface PackageLoggers {\n injectLogger(component: string): Logger;\n getLogger(component: string): Logger;\n}\n\nexport function loggerFactory(pkg: string): PackageLoggers {\n return {\n injectLogger: (component: string): Logger => {\n const scope = inject(LOG_SCOPE, { optional: true });\n const name = scope != null ? `${scope}.${component}` : component;\n return inject(LoggingService).getLogger(name, { package: pkg });\n },\n getLogger: (component: string): Logger => getGlobalLogger(component, { package: pkg }),\n };\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["getGlobalLogger"],"mappings":";;;MAEa,SAAS,GAAG,IAAI,cAAc,CAAS,UAAU;AAExD,SAAU,eAAe,CAAC,OAAe,EAAA;IAC7C,OAAO;AACL,QAAA,OAAO,EAAE,SAAS;QAClB,UAAU,EAAE,MAAK;AACf,YAAA,MAAM,MAAM,GAAG,MAAM,CAAC,SAAS,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;AACpE,YAAA,OAAO,MAAM,IAAI,IAAI,GAAG,CAAA,EAAG,MAAM,CAAA,CAAA,EAAI,OAAO,CAAA,CAAE,GAAG,OAAO;QAC1D,CAAC;KACF;AACH;;ACHM,SAAU,aAAa,CAAC,GAAW,EAAA;IACvC,OAAO;AACL,QAAA,YAAY,EAAE,CAAC,SAAiB,KAAY;AAC1C,YAAA,MAAM,KAAK,GAAG,MAAM,CAAC,SAAS,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;AACnD,YAAA,MAAM,IAAI,GAAG,KAAK,IAAI,IAAI,GAAG,CAAA,EAAG,KAAK,IAAI,SAAS,CAAA,CAAE,GAAG,SAAS;AAChE,YAAA,OAAO,MAAM,CAAC,cAAc,CAAC,CAAC,SAAS,CAAC,IAAI,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC;QACjE,CAAC;AACD,QAAA,SAAS,EAAE,CAAC,SAAiB,KAAaA,SAAe,CAAC,SAAS,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC;KACvF;AACH;;AClBA;;AAEG;;;;"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"nx-ddd-logging-file.mjs","sources":["../../../../../packages/@nx-ddd/logging/src/lib/file/file-logger.ts","../../../../../packages/@nx-ddd/logging/src/lib/file/nx-ddd-logging-file.ts"],"sourcesContent":["\n\nimport * as fs from 'fs';\nimport * as os from 'os';\nimport { join } from 'path';\nimport type { WriteStream } from 'fs';\nimport { BaseLogger, LOGGER, LogLevel, LogContext } from '@nx-ddd/logging/base';\nimport { buildLogRecord, formatJson } from '@nx-ddd/logging/format';\nimport { Provider } from '@angular/core';\n\nexport type FileLogFormat = 'text' | 'json';\n\nexport interface FileLoggerOptions {\n filePath?: string;\n logDir?: string;\n component?: string; \n minLevel?: LogLevel;\n componentFilter?: string;\n format?: FileLogFormat;\n}\n\nexport class FileLogger extends BaseLogger {\n private writeStream: WriteStream | null = null;\n private minLevel: LogLevel;\n private componentFilter?: RegExp;\n private startTime: number;\n private format: FileLogFormat;\n\n constructor(options?: FileLoggerOptions) {\n super();\n this.minLevel = options?.minLevel ?? LogLevel.DEBUG; \n this.componentFilter = options?.componentFilter\n ? new RegExp(options.componentFilter)\n : undefined;\n this.format = options?.format ?? 'text';\n this.startTime = Date.now();\n\n \n const logDir = options?.logDir || join(os.homedir(), '.machina', 'logs');\n const date = new Date().toISOString().split('T')[0]; \n const component = options?.component || 'app';\n const logFile = options?.filePath || join(logDir, `${component}-${date}.log`);\n\n \n try {\n const dir = options?.filePath ? join(logFile, '..') : logDir;\n fs.mkdirSync(dir, { recursive: true });\n } catch (error) {\n console.error(`[FileLogger] Failed to create log directory: ${error}`);\n }\n\n \n try {\n this.writeStream = fs.createWriteStream(logFile, { flags: 'a' });\n } catch (error) {\n console.error(`[FileLogger] Failed to open log file: ${error}`);\n }\n }\n\n log(level: LogLevel, message: string, context?: LogContext, error?: Error): void {\n \n if (level < this.minLevel) return;\n\n \n if (this.componentFilter && context?.component) {\n if (!this.componentFilter.test(context.component)) return;\n }\n\n if (!this.writeStream) return;\n\n let logMessage: string;\n if (this.format === 'json') {\n logMessage = formatJson(buildLogRecord(level, message, context, error)) + '\\n';\n } else {\n const timestamp = new Date().toISOString();\n const elapsed = ((Date.now() - this.startTime) / 1000).toFixed(2);\n const levelStr = LogLevel[level];\n const component = context?.component || 'unknown';\n const contextStr = context ? JSON.stringify(context) : '';\n const errorStr = error ? `\\n Error: ${error.message}\\n Stack: ${error.stack}` : '';\n logMessage = `[${timestamp}] [+${elapsed}s] [${levelStr}] [${component}] ${message}${contextStr ? ' ' + contextStr : ''}${errorStr}\\n`;\n }\n\n \n this.writeStream.write(logMessage);\n }\n\n close(): void {\n if (this.writeStream) {\n this.writeStream.end();\n this.writeStream = null;\n }\n }\n}\n\n\nexport interface FileLoggerProviderOptions {\n component?: string;\n logDir?: string;\n filePath?: string;\n minLevel?: LogLevel;\n componentFilter?: string;\n format?: FileLogFormat;\n}\n\n\nexport function provideFileLogger(options?: FileLoggerProviderOptions): Provider {\n return {\n provide: LOGGER,\n multi: true,\n useFactory: () => {\n const minLevel = options?.minLevel ?? LogLevel.DEBUG;\n\n \n let filePath: string;\n if (options?.filePath) {\n filePath = options.filePath;\n } else {\n const logDir = options?.logDir || join(os.homedir(), '.machina', 'logs');\n const date = new Date().toISOString().split('T')[0];\n const component = options?.component || 'app';\n filePath = join(logDir, `${component}-${date}.log`);\n }\n\n return new FileLogger({\n filePath,\n minLevel,\n componentFilter: options?.componentFilter,\n format: options?.format\n });\n }\n };\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"nx-ddd-logging-format.mjs","sources":["../../../../../packages/@nx-ddd/logging/src/lib/format/log-record.ts","../../../../../packages/@nx-ddd/logging/src/lib/format/nx-ddd-logging-format.ts"],"sourcesContent":["import { LogLevel, LogContext } from '@nx-ddd/logging/base';\n\nexport interface LogRecord {\n ts: string;\n lvl: string;\n component: string;\n package?: string;\n msg: string;\n ctx?: Record<string, unknown>;\n err?: { message: string; stack?: string };\n}\n\nexport function buildLogRecord(\n level: LogLevel,\n message: string,\n context?: LogContext,\n error?: Error,\n ts: string = new Date().toISOString(),\n): LogRecord {\n const { component, package: pkg, ...restCtx } = context ?? {};\n const record: LogRecord = {\n ts,\n lvl: LogLevel[level],\n component: (component as string | undefined) ?? 'unknown',\n msg: message,\n };\n if (pkg != null) {\n record.package = pkg as string;\n }\n if (Object.keys(restCtx).length > 0) {\n record.ctx = restCtx as Record<string, unknown>;\n }\n if (error != null) {\n record.err = { message: error.message, stack: error.stack };\n }\n return record;\n}\n\nconst LEVEL_COLOR: Record<string, string> = {\n DEBUG: '\\x1b[90m',\n INFO: '\\x1b[36m',\n WARN: '\\x1b[33m',\n ERROR: '\\x1b[31m',\n FATAL: '\\x1b[35m',\n};\nconst RESET = '\\x1b[0m';\n\nexport function formatText(record: LogRecord, opts?: { color?: boolean }): string {\n const color = opts?.color ?? false;\n const levelStr = color\n ? `${LEVEL_COLOR[record.lvl] ?? ''}${record.lvl}${RESET}`\n : record.lvl;\n const source = record.package != null\n ? `[${record.package}][${record.component}]`\n : `[${record.component}]`;\n let line = `[${record.ts}][${levelStr}]${source} ${record.msg}`;\n if (record.ctx != null) {\n line += ` ${JSON.stringify(record.ctx)}`;\n }\n if (record.err != null) {\n line += `\\n Error: ${record.err.message}`;\n if (record.err.stack != null) {\n line += `\\n Stack: ${record.err.stack}`;\n }\n }\n return line;\n}\n\nexport function formatJson(record: LogRecord): string {\n return JSON.stringify(record);\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;SAYgB,cAAc,CAC5B,KAAe,EACf,OAAe,EACf,OAAoB,EACpB,KAAa,EACb,EAAA,GAAa,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EAAA;AAErC,IAAA,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,GAAG,EAAE,GAAG,OAAO,EAAE,GAAG,OAAO,IAAI,EAAE;AAC7D,IAAA,MAAM,MAAM,GAAc;QACxB,EAAE;AACF,QAAA,GAAG,EAAE,QAAQ,CAAC,KAAK,CAAC;QACpB,SAAS,EAAG,SAAgC,IAAI,SAAS;AACzD,QAAA,GAAG,EAAE,OAAO;KACb;AACD,IAAA,IAAI,GAAG,IAAI,IAAI,EAAE;AACf,QAAA,MAAM,CAAC,OAAO,GAAG,GAAa;IAChC;IACA,IAAI,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE;AACnC,QAAA,MAAM,CAAC,GAAG,GAAG,OAAkC;IACjD;AACA,IAAA,IAAI,KAAK,IAAI,IAAI,EAAE;AACjB,QAAA,MAAM,CAAC,GAAG,GAAG,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE;IAC7D;AACA,IAAA,OAAO,MAAM;AACf;AAEA,MAAM,WAAW,GAA2B;AAC1C,IAAA,KAAK,EAAE,UAAU;AACjB,IAAA,IAAI,EAAE,UAAU;AAChB,IAAA,IAAI,EAAE,UAAU;AAChB,IAAA,KAAK,EAAE,UAAU;AACjB,IAAA,KAAK,EAAE,UAAU;CAClB;AACD,MAAM,KAAK,GAAG,SAAS;AAEjB,SAAU,UAAU,CAAC,MAAiB,EAAE,IAA0B,EAAA;AACtE,IAAA,MAAM,KAAK,GAAG,IAAI,EAAE,KAAK,IAAI,KAAK;IAClC,MAAM,QAAQ,GAAG;AACf,UAAE,CAAA,EAAG,WAAW,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG,MAAM,CAAC,GAAG,CAAA,EAAG,KAAK,CAAA;AACvD,UAAE,MAAM,CAAC,GAAG;AACd,IAAA,MAAM,MAAM,GAAG,MAAM,CAAC,OAAO,IAAI;UAC7B,IAAI,MAAM,CAAC,OAAO,CAAA,EAAA,EAAK,MAAM,CAAC,SAAS,CAAA,CAAA;AACzC,UAAE,CAAA,CAAA,EAAI,MAAM,CAAC,SAAS,GAAG;AAC3B,IAAA,IAAI,IAAI,GAAG,CAAA,CAAA,EAAI,MAAM,CAAC,EAAE,CAAA,EAAA,EAAK,QAAQ,CAAA,CAAA,EAAI,MAAM,CAAA,CAAA,EAAI,MAAM,CAAC,GAAG,EAAE;AAC/D,IAAA,IAAI,MAAM,CAAC,GAAG,IAAI,IAAI,EAAE;QACtB,IAAI,IAAI,CAAA,CAAA,EAAI,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA,CAAE;IAC1C;AACA,IAAA,IAAI,MAAM,CAAC,GAAG,IAAI,IAAI,EAAE;QACtB,IAAI,IAAI,cAAc,MAAM,CAAC,GAAG,CAAC,OAAO,EAAE;QAC1C,IAAI,MAAM,CAAC,GAAG,CAAC,KAAK,IAAI,IAAI,EAAE;YAC5B,IAAI,IAAI,cAAc,MAAM,CAAC,GAAG,CAAC,KAAK,EAAE;QAC1C;IACF;AACA,IAAA,OAAO,IAAI;AACb;AAEM,SAAU,UAAU,CAAC,MAAiB,EAAA;AAC1C,IAAA,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC;AAC/B;;ACtEA;;AAEG;;;;"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"nx-ddd-logging-http.mjs","sources":["../../../../../packages/@nx-ddd/logging/src/lib/http/http.logger.ts","../../../../../packages/@nx-ddd/logging/src/lib/http/nx-ddd-logging-http.ts"],"sourcesContent":["import { Provider } from '@angular/core';\nimport { BaseLogger, LogLevel, LogContext, LOGGER } from '@nx-ddd/logging/base';\n\nexport interface HttpLogRecord {\n id: string;\n timestamp: number;\n peer_id: string;\n process_id: number;\n level: string;\n component: string;\n message: string;\n context: string | null;\n error: string | null;\n}\n\nexport interface HttpLoggerOptions {\n resolveEndpoint: () => string | null;\n peerId?: string | (() => string);\n minLevel?: LogLevel;\n flushIntervalMs?: number;\n maxBatch?: number;\n maxBuffer?: number;\n fetchFn?: typeof fetch;\n}\n\nexport const DEFAULT_HTTP_FLUSH_INTERVAL_MS = 1_000;\nexport const DEFAULT_HTTP_MAX_BATCH = 200;\nexport const DEFAULT_HTTP_MAX_BUFFER = 5_000;\n\nexport class HttpLogger extends BaseLogger {\n private readonly resolveEndpoint: () => string | null;\n private readonly peerId: string | (() => string);\n private readonly minLevel: LogLevel;\n private readonly maxBatch: number;\n private readonly maxBuffer: number;\n private readonly fetchFn: typeof fetch;\n private readonly buffer: HttpLogRecord[] = [];\n private timer: ReturnType<typeof setInterval> | null;\n private inflight = false;\n private closed = false;\n private seq = 0;\n private warnedOnce = false;\n\n constructor(options: HttpLoggerOptions) {\n super();\n this.resolveEndpoint = options.resolveEndpoint;\n this.peerId = options.peerId ?? 'local';\n this.minLevel = options.minLevel ?? LogLevel.DEBUG;\n this.maxBatch = options.maxBatch ?? DEFAULT_HTTP_MAX_BATCH;\n this.maxBuffer = options.maxBuffer ?? DEFAULT_HTTP_MAX_BUFFER;\n this.fetchFn = options.fetchFn ?? fetch;\n this.timer = setInterval(() => void this.flush(), options.flushIntervalMs ?? DEFAULT_HTTP_FLUSH_INTERVAL_MS);\n (this.timer as unknown as { unref?: () => void }).unref?.();\n }\n\n log(level: LogLevel, message: string, context?: LogContext, error?: Error): void {\n if (this.closed || level < this.minLevel) return;\n this.buffer.push(this.toRecord(level, message, context, error));\n if (this.buffer.length > this.maxBuffer) this.buffer.splice(0, this.buffer.length - this.maxBuffer);\n }\n\n close(): void {\n if (this.timer != null) {\n clearInterval(this.timer);\n this.timer = null;\n }\n void this.flush();\n this.closed = true;\n }\n\n private toRecord(level: LogLevel, message: string, context?: LogContext, error?: Error): HttpLogRecord {\n const { component, ...restCtx } = context ?? {};\n const timestamp = Date.now();\n const id = `${String(timestamp).padStart(14, '0')}-${process.pid.toString(36)}-${(this.seq++).toString(36).padStart(6, '0')}`;\n const derived = (component as string | undefined) ?? /^\\[([^[\\]\\s]+)\\]/.exec(message)?.[1] ?? 'unknown';\n return {\n id,\n timestamp,\n peer_id: typeof this.peerId === 'function' ? this.peerId() : this.peerId,\n process_id: process.pid,\n level: LogLevel[level],\n component: derived,\n message,\n context: Object.keys(restCtx).length > 0 ? JSON.stringify(restCtx) : null,\n error: error != null ? `${error.message}${error.stack != null ? `\\n${error.stack}` : ''}` : null,\n };\n }\n\n private async flush(): Promise<void> {\n if (this.inflight || this.buffer.length === 0) return;\n const endpoint = this.safeResolveEndpoint();\n if (endpoint == null) return;\n const batch = this.buffer.splice(0, this.maxBatch);\n this.inflight = true;\n try {\n await this.fetchFn(`${endpoint}/log`, {\n method: 'POST',\n headers: { 'Content-Type': 'application/json' },\n body: JSON.stringify(batch),\n });\n } catch (error) {\n if (!this.warnedOnce) {\n this.warnedOnce = true;\n console.error(`[http-logger] ship failed (best-effort, batch dropped): ${error}`);\n }\n } finally {\n this.inflight = false;\n }\n }\n\n private safeResolveEndpoint(): string | null {\n try {\n return this.resolveEndpoint();\n } catch {\n return null;\n }\n }\n}\n\nexport function provideHttpLogger(options: HttpLoggerOptions): Provider {\n return {\n provide: LOGGER,\n multi: true,\n useFactory: () => new HttpLogger(options),\n };\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"nx-ddd-logging-tee.mjs","sources":["../../../../../packages/@nx-ddd/logging/src/lib/tee/pipe-stdio.ts","../../../../../packages/@nx-ddd/logging/src/lib/tee/tee.logger.ts","../../../../../packages/@nx-ddd/logging/src/lib/tee/nx-ddd-logging-tee.ts"],"sourcesContent":["import type * as fs from 'fs';\n\nexport type RestoreStdioFn = () => void;\n\ntype WriteFn = typeof process.stdout.write;\n\n\nexport function pipeStdioToStream(stream: fs.WriteStream): RestoreStdioFn {\n \n \n const origStdoutWrite = process.stdout.write as WriteFn;\n const origStderrWrite = process.stderr.write as WriteFn;\n\n const wrap = (orig: WriteFn, thisArg: NodeJS.WriteStream): WriteFn =>\n ((...args: unknown[]) => {\n try {\n stream.write(args[0] as Parameters<typeof stream.write>[0]);\n } catch {\n void 0;\n }\n return (orig as (...a: unknown[]) => boolean).apply(thisArg, args);\n }) as WriteFn;\n\n process.stdout.write = wrap(origStdoutWrite, process.stdout);\n process.stderr.write = wrap(origStderrWrite, process.stderr);\n\n return () => {\n process.stdout.write = origStdoutWrite;\n process.stderr.write = origStderrWrite;\n };\n}\n","import * as fs from 'fs';\nimport type { WriteStream } from 'fs';\nimport { BaseLogger, LOGGER, LogLevel } from '@nx-ddd/logging/base';\nimport { Injectable, Provider } from '@angular/core';\nimport { pipeStdioToStream, RestoreStdioFn } from './pipe-stdio';\n\n\n@Injectable()\nexport class TeeLogger extends BaseLogger {\n private logStream: WriteStream | null = null;\n private enableConsoleOutput = true;\n private restoreStdio: RestoreStdioFn | null = null;\n private pipeStdioActive = false;\n\n initialize(\n logFilePath: string,\n forceConsole = false,\n options?: { isE2e?: boolean; pipeStdio?: boolean },\n ): void {\n this.logStream = fs.createWriteStream(logFilePath, { flags: 'a' });\n this.enableConsoleOutput = forceConsole || !options?.isE2e;\n this.pipeStdioActive = options?.pipeStdio === true;\n if (this.pipeStdioActive) {\n this.restoreStdio = pipeStdioToStream(this.logStream);\n }\n }\n\n log(level: LogLevel, message: string): void {\n const levelStr = LogLevel[level] ?? 'LOG';\n\n if (this.enableConsoleOutput) {\n const time = new Date().toTimeString().slice(0, 8);\n const method = level >= LogLevel.ERROR ? console.error\n : level >= LogLevel.WARN ? console.warn\n : console.log;\n method(`[${time}][${levelStr}] ${message}`);\n }\n\n \n \n if (this.logStream && !this.pipeStdioActive) {\n const ts = new Date().toISOString();\n this.logStream.write(JSON.stringify({ ts, lvl: levelStr, msg: message }) + '\\n');\n }\n }\n\n close(): void {\n if (this.restoreStdio) {\n this.restoreStdio();\n this.restoreStdio = null;\n }\n if (this.logStream) {\n this.logStream.end();\n this.logStream = null;\n }\n }\n}\n\nexport function provideTeeLogger(): Provider[] {\n return [\n { provide: TeeLogger, useClass: TeeLogger },\n { provide: LOGGER, multi: true, useExisting: TeeLogger },\n ];\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"nx-ddd-logging.mjs","sources":["../../../../../packages/@nx-ddd/logging/src/lib/base/interfaces.ts","../../../../../packages/@nx-ddd/logging/src/lib/base/base.logger.ts","../../../../../packages/@nx-ddd/logging/src/lib/base/log-filter.ts","../../../../../packages/@nx-ddd/logging/src/lib/base/providers.ts","../../../../../packages/@nx-ddd/logging/src/lib/logging.service.ts","../../../../../packages/@nx-ddd/logging/src/lib/global-logging.ts","../../../../../packages/@nx-ddd/logging/src/lib/nx-ddd-logging.ts"],"sourcesContent":["\n\nexport enum LogLevel {\n DEBUG = 0,\n INFO = 1,\n WARN = 2,\n ERROR = 3,\n FATAL = 4,\n}\n\nexport interface LogContext {\n component?: string;\n package?: string;\n sessionId?: string;\n clientId?: string;\n [key: string]: any;\n}\n\nexport interface ILoggingService {\n \n debug(message: string, context?: LogContext): void;\n\n \n info(message: string, context?: LogContext): void;\n\n \n warn(message: string, context?: LogContext): void;\n\n \n error(message: string, error?: Error, context?: LogContext): void;\n\n \n fatal(message: string, error?: Error, context?: LogContext): void;\n\n \n setLogLevel(level: LogLevel): void;\n\n \n setComponent(component: string): void;\n\n \n close(): void;\n}\n","\n\nimport { Injectable, InjectionToken, Provider } from '@angular/core';\nimport { LogLevel, LogContext } from './interfaces';\n\nexport const LOGGER = new InjectionToken<BaseLogger>('Logger');\n\n@Injectable()\nexport abstract class BaseLogger {\n \n abstract log(\n level: LogLevel,\n message: string,\n context?: LogContext,\n error?: Error\n ): void;\n\n \n abstract close(): void;\n\n \n debug(message: string, context?: LogContext): void {\n this.log(LogLevel.DEBUG, message, context);\n }\n\n info(message: string, context?: LogContext): void {\n this.log(LogLevel.INFO, message, context);\n }\n\n warn(message: string, context?: LogContext): void {\n this.log(LogLevel.WARN, message, context);\n }\n\n error(message: string, error?: Error, context?: LogContext): void {\n this.log(LogLevel.ERROR, message, context, error);\n }\n\n fatal(message: string, error?: Error, context?: LogContext): void {\n this.log(LogLevel.FATAL, message, context, error);\n }\n}\n\nexport function provideLogger(useFactory: () => BaseLogger): Provider {\n return {\n provide: LOGGER,\n multi: true,\n useFactory,\n };\n}\n","\n\nimport { InjectionToken } from '@angular/core';\nimport { LogLevel, LogContext } from './interfaces';\n\n\nexport type LogFilterFn = (level: LogLevel, context?: LogContext) => boolean;\n\nexport const LOG_FILTER = new InjectionToken<LogFilterFn>('LogFilter');\n","\n\nimport { Provider } from '@angular/core';\nimport { LogLevel } from './interfaces';\nimport { LOG_FILTER, LogFilterFn } from './log-filter';\n\n\nexport function provideLogFilter(filter: LogFilterFn): Provider {\n return { provide: LOG_FILTER, useValue: filter };\n}\n\n\nexport interface LogFilterConfig {\n minLevel?: LogLevel;\n componentPattern?: string;\n}\n\n\nexport function provideLogFilterWithConfig(config?: LogFilterConfig): Provider {\n const minLevel = config?.minLevel ?? LogLevel.WARN;\n const componentRegex = config?.componentPattern ? new RegExp(config.componentPattern) : null;\n\n return provideLogFilter((level, context) => {\n if (level < minLevel) return false;\n if (componentRegex && context?.component && !componentRegex.test(context.component)) {\n return false;\n }\n return true;\n });\n}\n\n\nexport function provideLogFilterFromEnv(): Provider {\n console.warn('[DEPRECATED] provideLogFilterFromEnv() is deprecated. Use provideLogFilterWithConfig() instead.');\n return provideLogFilterWithConfig();\n}\n","import { inject, Injectable, InjectionToken } from \"@angular/core\";\nimport { BaseLogger, ILoggingService, LogContext, LOGGER, LogLevel, LOG_FILTER, LogFilterFn } from \"@nx-ddd/logging/base\";\n\nexport const LOGGING_SERVICE = new InjectionToken<ILoggingService>('LoggingService');\n\nexport interface Logger {\n log: (...args: Parameters<typeof console['log']>) => void;\n debug: (...args: Parameters<typeof console['debug']>) => void;\n info: (...args: Parameters<typeof console['info']>) => void;\n warn: (...args: Parameters<typeof console['warn']>) => void;\n error: (...args: Parameters<typeof console['error']>) => void;\n child: (segment: string) => Logger;\n}\n\nexport interface LoggerMeta {\n package?: string;\n}\n\n@Injectable({ providedIn: 'root' })\nexport class LoggingService implements ILoggingService {\n private loggers = inject<BaseLogger[]>(LOGGER, { optional: true }) ?? [];\n private filter = inject<LogFilterFn>(LOG_FILTER, { optional: true });\n\n getLogger(name: string, meta?: LoggerMeta): Logger {\n const format = (...args: Parameters<typeof console['log']>) => {\n return args.map(arg => {\n if (typeof arg === 'string') return arg;\n if (arg === undefined) return 'undefined';\n if (arg === null) return 'null';\n const serialized = JSON.stringify(arg);\n return serialized !== undefined ? serialized : String(arg);\n }).join(' ');\n };\n\n const context: LogContext = { component: name };\n if (meta?.package != null) context['package'] = meta.package;\n\n return {\n log: (...args) => this.log(LogLevel.INFO, format(...args), context),\n debug: (...args) => this.log(LogLevel.DEBUG, format(...args), context),\n info: (...args) => this.log(LogLevel.INFO, format(...args), context),\n warn: (...args) => this.log(LogLevel.WARN, format(...args), context),\n error: (...args) => this.log(LogLevel.ERROR, format(...args), context),\n child: (segment: string) => this.getLogger(`${name}.${segment}`, meta),\n };\n }\n\n log(level: LogLevel, message: string, context?: LogContext, error?: Error): void {\n \n if (this.filter && !this.filter(level, context)) return;\n\n this.loggers.forEach(logger => logger.log(level, message, context, error));\n }\n\n close(): void {\n this.loggers.forEach(logger => logger.close());\n }\n\n debug(message: string, context?: LogContext): void {\n this.log(LogLevel.DEBUG, message, context);\n }\n\n info(message: string, context?: LogContext): void {\n this.log(LogLevel.INFO, message, context);\n }\n\n warn(message: string, context?: LogContext): void {\n this.log(LogLevel.WARN, message, context);\n }\n\n error(message: string, error?: Error, context?: LogContext): void {\n this.log(LogLevel.ERROR, message, context, error);\n }\n\n fatal(message: string, error?: Error, context?: LogContext): void {\n this.log(LogLevel.FATAL, message, context, error);\n }\n\n setLogLevel(_level: LogLevel): void {\n void 0;\n }\n\n setComponent(_component: string): void {\n void 0;\n }\n}\n","import { EnvironmentProviders, inject, makeEnvironmentProviders, provideAppInitializer } from '@angular/core';\nimport { ILoggingService } from '@nx-ddd/logging/base';\nimport { Logger, LoggerMeta, LoggingService } from './logging.service';\n\nlet globalLogging: LoggingService | null = null;\nexport { globalLogging as logging };\n\nexport function setGlobalLogging(logging: LoggingService): void {\n globalLogging = logging;\n}\n\nexport function getGlobalLogging(): LoggingService | null {\n return globalLogging;\n}\n\nexport function createLogger(name: any): ILoggingService | null {\n return globalLogging;\n}\n\n// eslint-disable-next-line @typescript-eslint/no-empty-function\nconst noop = () => {};\nconst noopLogger: Logger = {\n log: noop, debug: noop, info: noop, warn: noop, error: noop,\n child: () => noopLogger,\n};\n\nexport function getLogger(name: string, meta?: LoggerMeta): Logger {\n return globalLogging?.getLogger(name, meta) ?? noopLogger;\n}\n\nexport function provideGlobalLogging(): EnvironmentProviders {\n return makeEnvironmentProviders([\n provideAppInitializer(() => {\n return setGlobalLogging(inject(LoggingService));\n })\n ]);\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["LOGGER","LOG_FILTER","LogLevel"],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"nx-ddd-logging-base.d.ts","sources":["../../../../../packages/@nx-ddd/logging/src/lib/base/interfaces.ts","../../../../../packages/@nx-ddd/logging/src/lib/base/base.logger.ts","../../../../../packages/@nx-ddd/logging/src/lib/base/log-filter.ts","../../../../../packages/@nx-ddd/logging/src/lib/base/providers.ts"],"sourcesContent":[null,null,null,null],"names":[],"mappings":";;;AAEA;AACE;AACA;AACA;AACA;AACA;AACD;;;;;;AAOC;AACD;;;;;AAaC;AAGA;AAGA;AAGA;;AAID;;ACrCD;AAEA;;;;;;AA0BE;AAIA;;;AAGD;AAED;;ACpCM;AAEN;;ACDA;;;;AAQC;AAGD;AAcA;;;"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"nx-ddd-logging-console.d.ts","sources":["../../../../../packages/@nx-ddd/logging/src/lib/console/console.logger.ts"],"sourcesContent":[null],"names":[],"mappings":";;;;;;;AAWE;;AAED;AAED;AACE;AACA;AACA;AACA;;AAUA;AA2BA;AAMA;AAGD;AAGD;;;"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"nx-ddd-logging-factory.d.ts","sources":["../../../../../packages/@nx-ddd/logging/src/lib/factory/log-scope.ts","../../../../../packages/@nx-ddd/logging/src/lib/factory/logger-factory.ts"],"sourcesContent":[null,null],"names":[],"mappings":";;;AAEA;AAEA;;;ACCE;AACA;AACD;AAED;;;"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"nx-ddd-logging-file.d.ts","sources":["../../../../../packages/@nx-ddd/logging/src/lib/file/file-logger.ts"],"sourcesContent":[null],"names":[],"mappings":";;;;;;;;;;;AAmBC;AAED;;;;;;;AAsCE;AA4BA;AAMD;;;;;;;;AAUA;AAGD;;;"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"nx-ddd-logging-format.d.ts","sources":["../../../../../packages/@nx-ddd/logging/src/lib/format/log-record.ts"],"sourcesContent":[null],"names":[],"mappings":";;;;;;;;;AASE;;;;AACD;AAED;AAmCA;;AAAwE;AAqBxE;;;"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"nx-ddd-logging-http.d.ts","sources":["../../../../../packages/@nx-ddd/logging/src/lib/http/http.logger.ts"],"sourcesContent":[null],"names":[],"mappings":";;;;;;;;;;;AAWE;AACA;AACD;;AAGC;;;;;;AAMA;AACD;AAED;AACA;AACA;AAEA;AACE;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;AAOY;AAYZ;AAMA;AASA;;AAwCA;AAOD;AAED;;;"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"nx-ddd-logging-tee.d.ts","sources":["../../../../../packages/@nx-ddd/logging/src/lib/tee/tee.logger.ts","../../../../../packages/@nx-ddd/logging/src/lib/tee/pipe-stdio.ts"],"sourcesContent":[null,null],"names":[],"mappings":";;;;;AAOA;;;;;;;;AAUsD;;AA6BpD;;;AAUD;AAED;;ACxDM;AAKN;;;"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"nx-ddd-logging.d.ts","sources":["../../../../../packages/@nx-ddd/logging/src/lib/base/interfaces.ts","../../../../../packages/@nx-ddd/logging/src/lib/base/base.logger.ts","../../../../../packages/@nx-ddd/logging/src/lib/base/log-filter.ts","../../../../../packages/@nx-ddd/logging/src/lib/base/providers.ts","../../../../../packages/@nx-ddd/logging/src/lib/logging.service.ts","../../../../../packages/@nx-ddd/logging/src/lib/global-logging.ts"],"sourcesContent":[null,null,null,null,null,null],"names":[],"mappings":";;;;AAEA;AACE;AACA;AACA;AACA;AACA;AACD;;;;;;AAOC;AACD;;;;;AAaC;AAGA;AAGA;AAGA;;AAID;;ACrCD;AAEA;;;;;;AA0BE;AAIA;;;AAGD;AAED;;ACpCM;AAEN;;ACDA;;;;AAQC;AAGD;AAcA;;AC7BA;;AAGE;AACA;AACA;AACA;AACA;AACA;AACD;;;AAIA;AAED;;;;AA6BE;AAOA;;;;AAgBA;AAIA;AAIA;AAIA;;;AAGD;;ACjFD;;AAGA;AAIA;AAIA;AAWA;AAIA;;;"}
|