@punks/backend-core 0.0.85 → 0.0.87

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,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
+ }
package/dist/esm/index.js CHANGED
@@ -2,6 +2,7 @@ import { readdirSync, statSync, existsSync, mkdirSync } from 'fs';
2
2
  import path, { join } from 'path';
3
3
  import require$$1 from 'stream';
4
4
  import * as winston from 'winston';
5
+ import { trace, context } from '@opentelemetry/api';
5
6
 
6
7
  var LogLevel;
7
8
  (function (LogLevel) {
@@ -31327,6 +31328,53 @@ class ConsoleLogger {
31327
31328
  }
31328
31329
  }
31329
31330
 
31331
+ const injectTraceContext = winston.format((info) => {
31332
+ const span = trace.getSpan(context.active());
31333
+ if (span) {
31334
+ const spanContext = span.spanContext();
31335
+ info.traceId = spanContext.traceId;
31336
+ info.spanId = spanContext.spanId;
31337
+ info.traceFlags = spanContext.traceFlags;
31338
+ }
31339
+ return info;
31340
+ });
31341
+ const createLoggerInstance$2 = (settings) => {
31342
+ const formats = [winston.format.timestamp(), winston.format.json()];
31343
+ if (settings?.includeOpenTelemetryContext) {
31344
+ formats.unshift(injectTraceContext());
31345
+ }
31346
+ const loggerConfig = {
31347
+ level: "debug",
31348
+ format: winston.format.combine(...formats),
31349
+ transports: [new winston.transports.Console()],
31350
+ };
31351
+ return winston.createLogger(loggerConfig);
31352
+ };
31353
+ const formatMessage$2 = (loggerName, message) => `${loggerName ? `[${loggerName}] ` : ""}${message}`;
31354
+ class StdoutLogger {
31355
+ constructor(settings) {
31356
+ this.logger = createLoggerInstance$2(settings);
31357
+ }
31358
+ debug(loggerName, message, meta) {
31359
+ this.logger.debug(formatMessage$2(loggerName, message), meta);
31360
+ }
31361
+ info(loggerName, message, meta) {
31362
+ this.logger.info(formatMessage$2(loggerName, message), meta);
31363
+ }
31364
+ warn(loggerName, message, meta) {
31365
+ this.logger.warn(formatMessage$2(loggerName, message), meta);
31366
+ }
31367
+ error(loggerName, message, meta) {
31368
+ this.logger.error(formatMessage$2(loggerName, message), meta);
31369
+ }
31370
+ fatal(loggerName, message, meta) {
31371
+ this.logger.log("fatal", formatMessage$2(loggerName, message), meta);
31372
+ }
31373
+ exception(loggerName, message, error, meta) {
31374
+ this.logger.error(formatMessage$2(loggerName, message), { error, ...meta });
31375
+ }
31376
+ }
31377
+
31330
31378
  const createHttpTransportOptions = (settings) => ({
31331
31379
  host: `http-intake.logs.${settings.datadog.site}`,
31332
31380
  path: `/api/v2/logs?dd-api-key=${settings.datadog.apiKey}&ddsource=nodejs&service=${settings.service.serviceName}`,
@@ -31473,5 +31521,5 @@ const processArrayItemMove = (items, input) => {
31473
31521
  }));
31474
31522
  };
31475
31523
 
31476
- 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 };
31524
+ 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 };
31477
31525
  //# sourceMappingURL=index.js.map