@punks/backend-core 0.0.50 → 0.0.52

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,12 @@
1
1
  import { ILoggerProvider } from "../../abstractions";
2
- export type DatadogLoggingSettings = {
3
- service: string;
2
+ import { AppServiceReference } from "../types";
3
+ export type DatadogApiSettings = {
4
4
  apiKey: string;
5
- appName: string;
6
- roleName: string;
7
- environmentName: string;
5
+ site: string;
6
+ };
7
+ export type DatadogLoggingSettings = {
8
+ service: AppServiceReference;
9
+ datadog: DatadogApiSettings;
8
10
  };
9
11
  export declare class DatadogLogger implements ILoggerProvider {
10
12
  private readonly settings;
@@ -1 +1,3 @@
1
1
  export { Log } from "./service";
2
+ export * from "./concrete";
3
+ export * from "./types";
@@ -0,0 +1,6 @@
1
+ export type AppServiceReference = {
2
+ serviceName: string;
3
+ appName: string;
4
+ roleName: string;
5
+ environmentName: string;
6
+ };
package/dist/esm/index.js CHANGED
@@ -1,6 +1,7 @@
1
1
  import { readdirSync, statSync, existsSync, mkdirSync } from 'fs';
2
2
  import path, { join } from 'path';
3
3
  import require$$1 from 'stream';
4
+ import * as winston from 'winston';
4
5
 
5
6
  var LogLevel;
6
7
  (function (LogLevel) {
@@ -28460,6 +28461,107 @@ Log.container = {
28460
28461
  instances: [],
28461
28462
  };
28462
28463
 
28464
+ class ConsoleLogger {
28465
+ debug(loggerName, message, meta) {
28466
+ if (meta) {
28467
+ console.log(`${loggerName ? `[${loggerName}] ` : ""}${message}`, meta);
28468
+ }
28469
+ else {
28470
+ console.log(`${loggerName ? `[${loggerName}] ` : ""}${message}`);
28471
+ }
28472
+ }
28473
+ info(loggerName, message, meta) {
28474
+ if (meta) {
28475
+ console.info(`${loggerName ? `[${loggerName}] ` : ""}${message}`, meta);
28476
+ }
28477
+ else {
28478
+ console.info(`${loggerName ? `[${loggerName}] ` : ""}${message}`);
28479
+ }
28480
+ }
28481
+ warn(loggerName, message, meta) {
28482
+ if (meta) {
28483
+ console.warn(`${loggerName ? `[${loggerName}] ` : ""}${message}`, meta);
28484
+ }
28485
+ else {
28486
+ console.warn(`${loggerName ? `[${loggerName}] ` : ""}${message}`);
28487
+ }
28488
+ }
28489
+ error(loggerName, message, meta) {
28490
+ if (meta) {
28491
+ console.error(`${loggerName ? `[${loggerName}] ` : ""}${message}`, meta);
28492
+ }
28493
+ else {
28494
+ console.error(`${loggerName ? `[${loggerName}] ` : ""}${message}`);
28495
+ }
28496
+ }
28497
+ fatal(loggerName, message, meta) {
28498
+ if (meta) {
28499
+ console.error(`${loggerName ? `[${loggerName}] ` : ""}${message}`, meta);
28500
+ }
28501
+ else {
28502
+ console.error(`${loggerName ? `[${loggerName}] ` : ""}${message}`);
28503
+ }
28504
+ }
28505
+ exception(loggerName, message, error, meta) {
28506
+ if (meta) {
28507
+ console.error(`${loggerName ? `[${loggerName}] ` : ""}${message}`, error, meta);
28508
+ }
28509
+ else {
28510
+ console.error(`${loggerName ? `[${loggerName}] ` : ""}${message}`, error);
28511
+ }
28512
+ }
28513
+ }
28514
+
28515
+ const createHttpTransportOptions = (settings) => ({
28516
+ host: `http-intake.logs.${settings.datadog.site}`,
28517
+ path: `/v1/input/${settings.datadog.apiKey}?ddsource=nodejs&service=${settings.service.serviceName}`,
28518
+ ssl: true,
28519
+ });
28520
+ const createLoggerInstance = (settings) => {
28521
+ const logger = winston.createLogger({
28522
+ level: "debug",
28523
+ format: winston.format.combine(winston.format.timestamp({
28524
+ format: "YYYY-MM-DD HH:mm:ss",
28525
+ }), winston.format.errors({ stack: true }), winston.format.splat(), winston.format.json()),
28526
+ defaultMeta: {
28527
+ service: settings.service,
28528
+ app: settings.service.appName,
28529
+ role: settings.service.roleName,
28530
+ environment: settings.service.environmentName,
28531
+ },
28532
+ transports: [
28533
+ new winston.transports.Http(createHttpTransportOptions(settings)),
28534
+ ],
28535
+ });
28536
+ logger.exceptions.handle(new winston.transports.Http(createHttpTransportOptions(settings)));
28537
+ return logger;
28538
+ };
28539
+ const formatMessage = (loggerName, message) => `${loggerName ? `[${loggerName}] ` : ""}${message}`;
28540
+ class DatadogLogger {
28541
+ constructor(settings) {
28542
+ this.settings = settings;
28543
+ this.logger = createLoggerInstance(this.settings);
28544
+ }
28545
+ debug(loggerName, message, meta) {
28546
+ this.logger.debug(formatMessage(loggerName, message), meta);
28547
+ }
28548
+ info(loggerName, message, meta) {
28549
+ this.logger.info(formatMessage(loggerName, message), meta);
28550
+ }
28551
+ warn(loggerName, message, meta) {
28552
+ this.logger.warn(formatMessage(loggerName, message), meta);
28553
+ }
28554
+ error(loggerName, message, meta) {
28555
+ this.logger.error(formatMessage(loggerName, message), meta);
28556
+ }
28557
+ fatal(loggerName, message, meta) {
28558
+ this.logger.error(formatMessage(loggerName, message), meta);
28559
+ }
28560
+ exception(loggerName, message, error, meta) {
28561
+ this.logger.error(formatMessage(loggerName, message), error, meta);
28562
+ }
28563
+ }
28564
+
28463
28565
  const logMemoryUsage = () => {
28464
28566
  const usedMemory = process.memoryUsage();
28465
28567
  Log.getLogger("Diagnostics").debug(`Memory usage: \n${Object.keys(usedMemory)
@@ -28499,5 +28601,5 @@ const processArrayItemMove = (items, input) => {
28499
28601
  }));
28500
28602
  };
28501
28603
 
28502
- export { ExcelKeyTransform, Log, LogLevel, MetaSerializationType, addTime, buildObject, buildTree, byField, byFieldDesc, camelToKebabCase, camelToSnakeCase, csvBuild, csvParse, distinct, distinctElements, ensureDirectory, ensureStartSlash, ensureTailingSlash, excelBuild, excelParse, first, flatten, getDirectoryFilePaths, getDirectoryPath, groupBy, indexes, isNullOrUndefined, iterate, joinPath, jsonDistinct, jsonSerialize, last, logMemoryUsage, mapOrThrow, mergeDeep, newUuid, notNull, notUndefined, pluralize, processArrayDifferences, processArrayItemMove, range, removeUndefinedProps, selectMany, sleep, sort, splitPath, subArrays, subtractTime, toCamelCase, toDict, toItemsDict, toItemsMap, toMap, toTitleCase, trim$1 as trim, trimEnd, trimStart };
28604
+ export { ConsoleLogger, DatadogLogger, ExcelKeyTransform, Log, LogLevel, MetaSerializationType, addTime, buildObject, buildTree, byField, byFieldDesc, camelToKebabCase, camelToSnakeCase, csvBuild, csvParse, distinct, distinctElements, ensureDirectory, ensureStartSlash, ensureTailingSlash, excelBuild, excelParse, first, flatten, getDirectoryFilePaths, getDirectoryPath, groupBy, indexes, isNullOrUndefined, iterate, joinPath, jsonDistinct, jsonSerialize, last, logMemoryUsage, mapOrThrow, mergeDeep, newUuid, notNull, notUndefined, pluralize, processArrayDifferences, processArrayItemMove, range, removeUndefinedProps, selectMany, sleep, sort, splitPath, subArrays, subtractTime, toCamelCase, toDict, toItemsDict, toItemsMap, toMap, toTitleCase, trim$1 as trim, trimEnd, trimStart };
28503
28605
  //# sourceMappingURL=index.js.map