@punks/backend-core 0.0.86 → 0.0.88

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.
@@ -1,10 +1,5 @@
1
1
  import { ILoggerProvider } from "../../abstractions";
2
- export type ConsoleLoggerSettings = {
3
- includeOpenTelemetryContext?: boolean;
4
- };
5
2
  export declare class ConsoleLogger implements ILoggerProvider {
6
- private readonly logger;
7
- constructor(settings?: ConsoleLoggerSettings);
8
3
  debug(loggerName: string, message: string, meta?: any): void;
9
4
  info(loggerName: string, message: string, meta?: any): void;
10
5
  warn(loggerName: string, message: string, meta?: any): void;
@@ -9,9 +9,10 @@ export type DatadogLoggingSettings = {
9
9
  datadog: DatadogApiSettings;
10
10
  };
11
11
  export declare class DatadogLogger implements ILoggerProvider {
12
- private readonly settings;
13
12
  private readonly logger;
13
+ private readonly serviceMeta;
14
14
  constructor(settings: DatadogLoggingSettings);
15
+ private enrichMeta;
15
16
  debug(loggerName: string, message: string, meta?: any): void;
16
17
  info(loggerName: string, message: string, meta?: any): void;
17
18
  warn(loggerName: string, message: string, meta?: any): void;
@@ -8,9 +8,10 @@ export type FileLoggingSettings = {
8
8
  files?: FileLoggerSettings;
9
9
  };
10
10
  export declare class FileLogger implements ILoggerProvider {
11
- private readonly settings;
12
11
  private readonly logger;
12
+ private readonly serviceMeta;
13
13
  constructor(settings: FileLoggingSettings);
14
+ private enrichMeta;
14
15
  debug(loggerName: string, message: string, meta?: any): void;
15
16
  info(loggerName: string, message: string, meta?: any): void;
16
17
  warn(loggerName: string, message: string, meta?: any): void;
@@ -1,3 +1,4 @@
1
1
  export { ConsoleLogger } from "./consoleLogger";
2
+ export { StdoutLogger } from "./stdoutLogger";
2
3
  export { DatadogLogger } from "./datadogLogger";
3
4
  export { FileLogger } from "./fileLogger";
@@ -0,0 +1,14 @@
1
+ import { ILoggerProvider } from "../../abstractions";
2
+ export type StdoutLoggerSettings = {
3
+ includeOpenTelemetryContext?: boolean;
4
+ };
5
+ export declare class StdoutLogger implements ILoggerProvider {
6
+ private readonly logger;
7
+ constructor(settings?: StdoutLoggerSettings);
8
+ debug(loggerName: string, message: string, meta?: any): void;
9
+ info(loggerName: string, message: string, meta?: any): void;
10
+ warn(loggerName: string, message: string, meta?: any): void;
11
+ error(loggerName: string, message: string, meta?: any): void;
12
+ fatal(loggerName: string, message: string, meta?: any): void;
13
+ exception(loggerName: string, message: string, error: Error, meta?: any): void;
14
+ }
@@ -21,7 +21,7 @@ export declare const flatten: <T>(array: T[][]) => T[];
21
21
  export declare const distinct: <T>(values: T[]) => T[];
22
22
  export declare const distinctElements: <T>(values: T[], comparer: (value: T) => any) => T[];
23
23
  export declare const jsonDistinct: <T>(values: T[]) => T[];
24
- export declare const iterate: <T>(values: T[], action: (item: T, next?: T, prev?: T) => void) => void;
24
+ export declare const iterate: <T>(values: T[], action: (item: T, next?: T | undefined, prev?: T | undefined) => void) => void;
25
25
  export declare const groupBy: <TKey, TValue>(values: TValue[], keySelector: (value: TValue) => TKey) => Map<TKey, TValue[]>;
26
26
  export declare const subArrays: <T>(array1: T[], array2: T[], eqFn: (a: T, b: T) => boolean) => T[];
27
27
  export {};
@@ -1,3 +1,4 @@
1
+ /// <reference types="node" />
1
2
  export declare const csvParse: (data: string | string[] | Buffer, separator?: string) => Record<string, any>[];
2
3
  export interface CsvColumnDefinition<T> {
3
4
  name: string;
@@ -1,3 +1,4 @@
1
+ /// <reference types="node" />
1
2
  export declare const encodeUtf8: (value: Uint8Array) => string;
2
3
  export declare const decodeUtf8: (value: string) => Buffer;
3
4
  export declare const encodeBase64: (value: Uint8Array) => string;
package/dist/esm/index.js CHANGED
@@ -31128,7 +31128,7 @@ const excelBuild = (...sheets) => {
31128
31128
  const sheetContents = [];
31129
31129
  for (const sheet of sheets) {
31130
31130
  sheetContents.push({
31131
- name: sheet.sheetName.substring(0, 31), // Excel sheet name limit
31131
+ name: sheet.sheetName.substring(0, 31),
31132
31132
  data: [
31133
31133
  sheet.columns.map((x) => x.header),
31134
31134
  ...sheet.data.map((d) => Array.from(buildRow(d, sheet))),
@@ -31277,6 +31277,57 @@ Log.container = {
31277
31277
  instances: [],
31278
31278
  };
31279
31279
 
31280
+ class ConsoleLogger {
31281
+ debug(loggerName, message, meta) {
31282
+ if (meta) {
31283
+ console.log(`\x1b[96m${loggerName ? `[${loggerName}] ` : ""}${message}\x1b[0m`, meta);
31284
+ }
31285
+ else {
31286
+ console.log(`\x1b[96m${loggerName ? `[${loggerName}] ` : ""}${message}\x1b[0m`);
31287
+ }
31288
+ }
31289
+ info(loggerName, message, meta) {
31290
+ if (meta) {
31291
+ console.info(`\x1b[34m${loggerName ? `[${loggerName}] ` : ""}${message}\x1b[0m`, meta);
31292
+ }
31293
+ else {
31294
+ console.info(`\x1b[34m${loggerName ? `[${loggerName}] ` : ""}${message}\x1b[0m`);
31295
+ }
31296
+ }
31297
+ warn(loggerName, message, meta) {
31298
+ if (meta) {
31299
+ console.warn(`\x1b[33m${loggerName ? `[${loggerName}] ` : ""}${message}\x1b[0m`, meta);
31300
+ }
31301
+ else {
31302
+ console.warn(`\x1b[33m${loggerName ? `[${loggerName}] ` : ""}${message}\x1b[0m`);
31303
+ }
31304
+ }
31305
+ error(loggerName, message, meta) {
31306
+ if (meta) {
31307
+ console.error(`${loggerName ? `[${loggerName}] ` : ""}${message}`, meta);
31308
+ }
31309
+ else {
31310
+ console.error(`${loggerName ? `[${loggerName}] ` : ""}${message}`);
31311
+ }
31312
+ }
31313
+ fatal(loggerName, message, meta) {
31314
+ if (meta) {
31315
+ console.error(`${loggerName ? `[${loggerName}] ` : ""}${message}`, meta);
31316
+ }
31317
+ else {
31318
+ console.error(`${loggerName ? `[${loggerName}] ` : ""}${message}`);
31319
+ }
31320
+ }
31321
+ exception(loggerName, message, error, meta) {
31322
+ if (meta) {
31323
+ console.error(`${loggerName ? `[${loggerName}] ` : ""}${message}`, error, meta);
31324
+ }
31325
+ else {
31326
+ console.error(`${loggerName ? `[${loggerName}] ` : ""}${message}`, error);
31327
+ }
31328
+ }
31329
+ }
31330
+
31280
31331
  const injectTraceContext = winston.format((info) => {
31281
31332
  const span = trace.getSpan(context.active());
31282
31333
  if (span) {
@@ -31292,14 +31343,15 @@ const createLoggerInstance$2 = (settings) => {
31292
31343
  if (settings?.includeOpenTelemetryContext) {
31293
31344
  formats.unshift(injectTraceContext());
31294
31345
  }
31295
- return winston.createLogger({
31346
+ const loggerConfig = {
31296
31347
  level: "debug",
31297
31348
  format: winston.format.combine(...formats),
31298
31349
  transports: [new winston.transports.Console()],
31299
- });
31350
+ };
31351
+ return winston.createLogger(loggerConfig);
31300
31352
  };
31301
31353
  const formatMessage$2 = (loggerName, message) => `${loggerName ? `[${loggerName}] ` : ""}${message}`;
31302
- class ConsoleLogger {
31354
+ class StdoutLogger {
31303
31355
  constructor(settings) {
31304
31356
  this.logger = createLoggerInstance$2(settings);
31305
31357
  }
@@ -31334,12 +31386,6 @@ const createLoggerInstance$1 = (settings) => {
31334
31386
  format: winston.format.combine(winston.format.timestamp({
31335
31387
  format: "YYYY-MM-DD HH:mm:ss",
31336
31388
  }), winston.format.errors({ stack: true }), winston.format.splat(), winston.format.json()),
31337
- defaultMeta: {
31338
- service: settings.service,
31339
- app: settings.service.appName,
31340
- role: settings.service.roleName,
31341
- environment: settings.service.environmentName,
31342
- },
31343
31389
  transports: [
31344
31390
  new winston.transports.Http(createHttpTransportOptions(settings)),
31345
31391
  ],
@@ -31350,26 +31396,34 @@ const createLoggerInstance$1 = (settings) => {
31350
31396
  const formatMessage$1 = (loggerName, message) => `${loggerName ? `[${loggerName}] ` : ""}${message}`;
31351
31397
  class DatadogLogger {
31352
31398
  constructor(settings) {
31353
- this.settings = settings;
31354
- this.logger = createLoggerInstance$1(this.settings);
31399
+ this.logger = createLoggerInstance$1(settings);
31400
+ this.serviceMeta = {
31401
+ service: settings.service.serviceName,
31402
+ app: settings.service.appName,
31403
+ role: settings.service.roleName,
31404
+ environment: settings.service.environmentName,
31405
+ };
31406
+ }
31407
+ enrichMeta(meta) {
31408
+ return { ...this.serviceMeta, ...meta };
31355
31409
  }
31356
31410
  debug(loggerName, message, meta) {
31357
- this.logger.debug(formatMessage$1(loggerName, message), meta);
31411
+ this.logger.debug(formatMessage$1(loggerName, message), this.enrichMeta(meta));
31358
31412
  }
31359
31413
  info(loggerName, message, meta) {
31360
- this.logger.info(formatMessage$1(loggerName, message), meta);
31414
+ this.logger.info(formatMessage$1(loggerName, message), this.enrichMeta(meta));
31361
31415
  }
31362
31416
  warn(loggerName, message, meta) {
31363
- this.logger.warn(formatMessage$1(loggerName, message), meta);
31417
+ this.logger.warn(formatMessage$1(loggerName, message), this.enrichMeta(meta));
31364
31418
  }
31365
31419
  error(loggerName, message, meta) {
31366
- this.logger.error(formatMessage$1(loggerName, message), meta);
31420
+ this.logger.error(formatMessage$1(loggerName, message), this.enrichMeta(meta));
31367
31421
  }
31368
31422
  fatal(loggerName, message, meta) {
31369
- this.logger.error(formatMessage$1(loggerName, message), meta);
31423
+ this.logger.error(formatMessage$1(loggerName, message), this.enrichMeta(meta));
31370
31424
  }
31371
31425
  exception(loggerName, message, error, meta) {
31372
- this.logger.error(formatMessage$1(loggerName, message), error, meta);
31426
+ this.logger.error(formatMessage$1(loggerName, message), this.enrichMeta({ error, ...meta }));
31373
31427
  }
31374
31428
  }
31375
31429
 
@@ -31380,12 +31434,6 @@ const createLoggerInstance = (settings) => {
31380
31434
  format: winston.format.combine(winston.format.timestamp({
31381
31435
  format: "YYYY-MM-DD HH:mm:ss",
31382
31436
  }), winston.format.errors({ stack: true }), winston.format.splat(), winston.format.json()),
31383
- defaultMeta: {
31384
- service: settings.service,
31385
- app: settings.service.appName,
31386
- role: settings.service.roleName,
31387
- environment: settings.service.environmentName,
31388
- },
31389
31437
  transports: [
31390
31438
  new winston.transports.File({
31391
31439
  filename: `./${folder}/error.log`,
@@ -31407,26 +31455,34 @@ const createLoggerInstance = (settings) => {
31407
31455
  const formatMessage = (loggerName, message) => `${loggerName ? `[${loggerName}] ` : ""}${message}`;
31408
31456
  class FileLogger {
31409
31457
  constructor(settings) {
31410
- this.settings = settings;
31411
- this.logger = createLoggerInstance(this.settings);
31458
+ this.logger = createLoggerInstance(settings);
31459
+ this.serviceMeta = {
31460
+ service: settings.service.serviceName,
31461
+ app: settings.service.appName,
31462
+ role: settings.service.roleName,
31463
+ environment: settings.service.environmentName,
31464
+ };
31465
+ }
31466
+ enrichMeta(meta) {
31467
+ return { ...this.serviceMeta, ...meta };
31412
31468
  }
31413
31469
  debug(loggerName, message, meta) {
31414
- this.logger.debug(formatMessage(loggerName, message), meta);
31470
+ this.logger.debug(formatMessage(loggerName, message), this.enrichMeta(meta));
31415
31471
  }
31416
31472
  info(loggerName, message, meta) {
31417
- this.logger.info(formatMessage(loggerName, message), meta);
31473
+ this.logger.info(formatMessage(loggerName, message), this.enrichMeta(meta));
31418
31474
  }
31419
31475
  warn(loggerName, message, meta) {
31420
- this.logger.warn(formatMessage(loggerName, message), meta);
31476
+ this.logger.warn(formatMessage(loggerName, message), this.enrichMeta(meta));
31421
31477
  }
31422
31478
  error(loggerName, message, meta) {
31423
- this.logger.error(formatMessage(loggerName, message), meta);
31479
+ this.logger.error(formatMessage(loggerName, message), this.enrichMeta(meta));
31424
31480
  }
31425
31481
  fatal(loggerName, message, meta) {
31426
- this.logger.error(formatMessage(loggerName, message), meta);
31482
+ this.logger.error(formatMessage(loggerName, message), this.enrichMeta(meta));
31427
31483
  }
31428
31484
  exception(loggerName, message, error, meta) {
31429
- this.logger.error(formatMessage(loggerName, message), error, meta);
31485
+ this.logger.error(formatMessage(loggerName, message), this.enrichMeta({ error, ...meta }));
31430
31486
  }
31431
31487
  }
31432
31488
 
@@ -31469,5 +31525,5 @@ const processArrayItemMove = (items, input) => {
31469
31525
  }));
31470
31526
  };
31471
31527
 
31472
- export { ConsoleLogger, DatadogLogger, ExcelKeyTransform, FileLogger, Log, LogLevel, MetaSerializationType, addTime, buildObject, buildTree, buildUrl, byField, byFieldDesc, camelToKebabCase, camelToSnakeCase, createDayPath, csvBuild, csvParse, decodeBase64, decodeUtf8, deserializeQueryString, distinct, distinctElements, encodeBase64, encodeUtf8, ensureDirectory, ensureStartSlash, ensureTailingSlash, excelBuild, excelParse, first, flatten, floorDateToSecond, generateHash, getDirectoryFilePaths, getDirectoryPath, getQueryParameter, groupBy, indexes, isNullOrUndefined, iterate, joinPath, joinUrl, jsonDistinct, jsonSerialize, last, logMemoryUsage, mapAsync, mapOrThrow, maskVariable, mergeDeep, multipleSplit, newUuid, notNull, notUndefined, pluralize, processArrayDifferences, processArrayItemMove, range, removeUndefinedProps, replaceUndefinedWithNull, selectMany, serializeQueryString, sleep, sort, splitPath, stripTags, subArrays, subtractTime, testInternetConnection, toArrayDict, toCamelCase, toDict, toItemsDict, toItemsMap, toMap, toTitleCase, trim$1 as trim, trimEnd, trimStart, truncateString, updateQueryParameters };
31528
+ export { ConsoleLogger, DatadogLogger, ExcelKeyTransform, FileLogger, Log, LogLevel, MetaSerializationType, StdoutLogger, addTime, buildObject, buildTree, buildUrl, byField, byFieldDesc, camelToKebabCase, camelToSnakeCase, createDayPath, csvBuild, csvParse, decodeBase64, decodeUtf8, deserializeQueryString, distinct, distinctElements, encodeBase64, encodeUtf8, ensureDirectory, ensureStartSlash, ensureTailingSlash, excelBuild, excelParse, first, flatten, floorDateToSecond, generateHash, getDirectoryFilePaths, getDirectoryPath, getQueryParameter, groupBy, indexes, isNullOrUndefined, iterate, joinPath, joinUrl, jsonDistinct, jsonSerialize, last, logMemoryUsage, mapAsync, mapOrThrow, maskVariable, mergeDeep, multipleSplit, newUuid, notNull, notUndefined, pluralize, processArrayDifferences, processArrayItemMove, range, removeUndefinedProps, replaceUndefinedWithNull, selectMany, serializeQueryString, sleep, sort, splitPath, stripTags, subArrays, subtractTime, testInternetConnection, toArrayDict, toCamelCase, toDict, toItemsDict, toItemsMap, toMap, toTitleCase, trim$1 as trim, trimEnd, trimStart, truncateString, updateQueryParameters };
31473
31529
  //# sourceMappingURL=index.js.map