@punks/backend-core 0.0.61 → 0.0.64

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.
@@ -0,0 +1,20 @@
1
+ import { ILoggerProvider } from "../../abstractions";
2
+ import { AppServiceReference } from "../types";
3
+ export type FileLoggerSettings = {
4
+ folder?: string;
5
+ };
6
+ export type FileLoggingSettings = {
7
+ service: AppServiceReference;
8
+ files?: FileLoggerSettings;
9
+ };
10
+ export declare class FileLogger implements ILoggerProvider {
11
+ private readonly settings;
12
+ private readonly logger;
13
+ constructor(settings: FileLoggingSettings);
14
+ debug(loggerName: string, message: string, meta?: any): void;
15
+ info(loggerName: string, message: string, meta?: any): void;
16
+ warn(loggerName: string, message: string, meta?: any): void;
17
+ error(loggerName: string, message: string, meta?: any): void;
18
+ fatal(loggerName: string, message: string, meta?: any): void;
19
+ exception(loggerName: string, message: string, error: Error, meta?: any): void;
20
+ }
@@ -1,2 +1,3 @@
1
1
  export { ConsoleLogger } from "./consoleLogger";
2
2
  export { DatadogLogger } from "./datadogLogger";
3
+ export { FileLogger } from "./fileLogger";
package/dist/esm/index.js CHANGED
@@ -28550,7 +28550,7 @@ const createHttpTransportOptions = (settings) => ({
28550
28550
  path: `/api/v2/logs?dd-api-key=${settings.datadog.apiKey}&ddsource=nodejs&service=${settings.service.serviceName}`,
28551
28551
  ssl: true,
28552
28552
  });
28553
- const createLoggerInstance = (settings) => {
28553
+ const createLoggerInstance$1 = (settings) => {
28554
28554
  const logger = winston.createLogger({
28555
28555
  level: "debug",
28556
28556
  format: winston.format.combine(winston.format.timestamp({
@@ -28569,8 +28569,61 @@ const createLoggerInstance = (settings) => {
28569
28569
  logger.exceptions.handle(new winston.transports.Http(createHttpTransportOptions(settings)));
28570
28570
  return logger;
28571
28571
  };
28572
- const formatMessage = (loggerName, message) => `${loggerName ? `[${loggerName}] ` : ""}${message}`;
28572
+ const formatMessage$1 = (loggerName, message) => `${loggerName ? `[${loggerName}] ` : ""}${message}`;
28573
28573
  class DatadogLogger {
28574
+ constructor(settings) {
28575
+ this.settings = settings;
28576
+ this.logger = createLoggerInstance$1(this.settings);
28577
+ }
28578
+ debug(loggerName, message, meta) {
28579
+ this.logger.debug(formatMessage$1(loggerName, message), meta);
28580
+ }
28581
+ info(loggerName, message, meta) {
28582
+ this.logger.info(formatMessage$1(loggerName, message), meta);
28583
+ }
28584
+ warn(loggerName, message, meta) {
28585
+ this.logger.warn(formatMessage$1(loggerName, message), meta);
28586
+ }
28587
+ error(loggerName, message, meta) {
28588
+ this.logger.error(formatMessage$1(loggerName, message), meta);
28589
+ }
28590
+ fatal(loggerName, message, meta) {
28591
+ this.logger.error(formatMessage$1(loggerName, message), meta);
28592
+ }
28593
+ exception(loggerName, message, error, meta) {
28594
+ this.logger.error(formatMessage$1(loggerName, message), error, meta);
28595
+ }
28596
+ }
28597
+
28598
+ const createLoggerInstance = (settings) => {
28599
+ const folder = settings.files?.folder ?? "logs";
28600
+ const logger = winston.createLogger({
28601
+ level: "debug",
28602
+ format: winston.format.combine(winston.format.timestamp({
28603
+ format: "YYYY-MM-DD HH:mm:ss",
28604
+ }), winston.format.errors({ stack: true }), winston.format.splat(), winston.format.json()),
28605
+ defaultMeta: {
28606
+ service: settings.service,
28607
+ app: settings.service.appName,
28608
+ role: settings.service.roleName,
28609
+ environment: settings.service.environmentName,
28610
+ },
28611
+ transports: [
28612
+ new winston.transports.File({
28613
+ filename: `./${folder}/error.log`,
28614
+ level: "error",
28615
+ }),
28616
+ new winston.transports.File({ filename: `./${folder}/combined.log` }),
28617
+ ],
28618
+ });
28619
+ logger.exceptions.handle(new winston.transports.File({
28620
+ filename: `./${folder}/unhandledError.log`,
28621
+ level: "error",
28622
+ }));
28623
+ return logger;
28624
+ };
28625
+ const formatMessage = (loggerName, message) => `${loggerName ? `[${loggerName}] ` : ""}${message}`;
28626
+ class FileLogger {
28574
28627
  constructor(settings) {
28575
28628
  this.settings = settings;
28576
28629
  this.logger = createLoggerInstance(this.settings);
@@ -28634,5 +28687,5 @@ const processArrayItemMove = (items, input) => {
28634
28687
  }));
28635
28688
  };
28636
28689
 
28637
- export { ConsoleLogger, DatadogLogger, ExcelKeyTransform, Log, LogLevel, MetaSerializationType, addTime, buildObject, buildTree, byField, byFieldDesc, camelToKebabCase, camelToSnakeCase, createDayPath, 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, toArrayDict, toCamelCase, toDict, toItemsDict, toItemsMap, toMap, toTitleCase, trim$1 as trim, trimEnd, trimStart };
28690
+ export { ConsoleLogger, DatadogLogger, ExcelKeyTransform, FileLogger, Log, LogLevel, MetaSerializationType, addTime, buildObject, buildTree, byField, byFieldDesc, camelToKebabCase, camelToSnakeCase, createDayPath, 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, toArrayDict, toCamelCase, toDict, toItemsDict, toItemsMap, toMap, toTitleCase, trim$1 as trim, trimEnd, trimStart };
28638
28691
  //# sourceMappingURL=index.js.map