@punks/backend-core 0.0.49 → 0.0.51
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/dist/cjs/index.js +133 -92
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/types/abstractions/logging.d.ts +6 -6
- package/dist/cjs/types/logging/concrete/consoleLogger.d.ts +9 -0
- package/dist/cjs/types/logging/concrete/datadogLogger.d.ts +19 -0
- package/dist/cjs/types/logging/concrete/index.d.ts +2 -0
- package/dist/cjs/types/logging/index.d.ts +1 -0
- package/dist/cjs/types/logging/service.d.ts +14 -6
- package/dist/esm/index.js +113 -93
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/types/abstractions/logging.d.ts +6 -6
- package/dist/esm/types/logging/concrete/consoleLogger.d.ts +9 -0
- package/dist/esm/types/logging/concrete/datadogLogger.d.ts +19 -0
- package/dist/esm/types/logging/concrete/index.d.ts +2 -0
- package/dist/esm/types/logging/index.d.ts +1 -0
- package/dist/esm/types/logging/service.d.ts +14 -6
- package/dist/index.d.ts +47 -12
- package/package.json +5 -3
- package/dist/cjs/types/logging/concrete/defaultLogger.d.ts +0 -11
- package/dist/esm/types/logging/concrete/defaultLogger.d.ts +0 -11
|
@@ -10,12 +10,12 @@ export declare enum MetaSerializationType {
|
|
|
10
10
|
JSON = 1
|
|
11
11
|
}
|
|
12
12
|
export interface ILoggerProvider {
|
|
13
|
-
debug(message: string, meta?: any): void;
|
|
14
|
-
info(message: string, meta?: any): void;
|
|
15
|
-
warn(message: string, meta?: any): void;
|
|
16
|
-
error(message: string, meta?: any): void;
|
|
17
|
-
fatal(message: string, meta?: any): void;
|
|
18
|
-
exception(message: string, error: Error, meta?: any): void;
|
|
13
|
+
debug(loggerName: string, message: string, meta?: any): void;
|
|
14
|
+
info(loggerName: string, message: string, meta?: any): void;
|
|
15
|
+
warn(loggerName: string, message: string, meta?: any): void;
|
|
16
|
+
error(loggerName: string, message: string, meta?: any): void;
|
|
17
|
+
fatal(loggerName: string, message: string, meta?: any): void;
|
|
18
|
+
exception(loggerName: string, message: string, error: Error, meta?: any): void;
|
|
19
19
|
}
|
|
20
20
|
export interface ILogger {
|
|
21
21
|
debug(message: string, meta?: any): void;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { ILoggerProvider } from "../../abstractions";
|
|
2
|
+
export declare class ConsoleLogger implements ILoggerProvider {
|
|
3
|
+
debug(loggerName: string, message: string, meta?: any): void;
|
|
4
|
+
info(loggerName: string, message: string, meta?: any): void;
|
|
5
|
+
warn(loggerName: string, message: string, meta?: any): void;
|
|
6
|
+
error(loggerName: string, message: string, meta?: any): void;
|
|
7
|
+
fatal(loggerName: string, message: string, meta?: any): void;
|
|
8
|
+
exception(loggerName: string, message: string, error: Error, meta?: any): void;
|
|
9
|
+
}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { ILoggerProvider } from "../../abstractions";
|
|
2
|
+
export type DatadogLoggingSettings = {
|
|
3
|
+
service: string;
|
|
4
|
+
apiKey: string;
|
|
5
|
+
appName: string;
|
|
6
|
+
roleName: string;
|
|
7
|
+
environmentName: string;
|
|
8
|
+
};
|
|
9
|
+
export declare class DatadogLogger implements ILoggerProvider {
|
|
10
|
+
private readonly settings;
|
|
11
|
+
private readonly logger;
|
|
12
|
+
constructor(settings: DatadogLoggingSettings);
|
|
13
|
+
debug(loggerName: string, message: string, meta?: any): void;
|
|
14
|
+
info(loggerName: string, message: string, meta?: any): void;
|
|
15
|
+
warn(loggerName: string, message: string, meta?: any): void;
|
|
16
|
+
error(loggerName: string, message: string, meta?: any): void;
|
|
17
|
+
fatal(loggerName: string, message: string, meta?: any): void;
|
|
18
|
+
exception(loggerName: string, message: string, error: Error, meta?: any): void;
|
|
19
|
+
}
|
|
@@ -1,9 +1,17 @@
|
|
|
1
|
-
import { ILogger, LogLevel, MetaSerializationType } from "../abstractions";
|
|
1
|
+
import { ILogger, ILoggerProvider, LogLevel, MetaSerializationType } from "../abstractions";
|
|
2
|
+
export type LoggerInstance = {
|
|
3
|
+
options: LoggerOptions;
|
|
4
|
+
provider: ILoggerProvider;
|
|
5
|
+
};
|
|
6
|
+
type LoggerOptions = {
|
|
7
|
+
enabled: boolean;
|
|
8
|
+
level: LogLevel;
|
|
9
|
+
loggerName?: string;
|
|
10
|
+
serialization: MetaSerializationType;
|
|
11
|
+
};
|
|
2
12
|
export declare class Log {
|
|
3
|
-
private static readonly
|
|
4
|
-
static
|
|
5
|
-
static setLevel(level: LogLevel): void;
|
|
6
|
-
static enable(): void;
|
|
7
|
-
static disable(): void;
|
|
13
|
+
private static readonly container;
|
|
14
|
+
static configure(instance: LoggerInstance): void;
|
|
8
15
|
static getLogger(loggerName: string): ILogger;
|
|
9
16
|
}
|
|
17
|
+
export {};
|
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) {
|
|
@@ -28406,141 +28407,160 @@ const excelParse = (file, options) => {
|
|
|
28406
28407
|
.map((x) => aggregateRow(header, x, options));
|
|
28407
28408
|
};
|
|
28408
28409
|
|
|
28409
|
-
class
|
|
28410
|
-
constructor(loggerName) {
|
|
28410
|
+
class InternalLogger {
|
|
28411
|
+
constructor(loggerName, container) {
|
|
28411
28412
|
this.loggerName = loggerName;
|
|
28413
|
+
this.container = container;
|
|
28412
28414
|
}
|
|
28413
28415
|
debug(message, meta) {
|
|
28416
|
+
this.getEnabledInstances(LogLevel.Debug).forEach((x) => x.provider.debug(this.loggerName, message, this.serializeMeta(x.options, meta)));
|
|
28417
|
+
}
|
|
28418
|
+
info(message, meta) {
|
|
28419
|
+
this.getEnabledInstances(LogLevel.Info).forEach((x) => x.provider.info(this.loggerName, message, this.serializeMeta(x.options, meta)));
|
|
28420
|
+
}
|
|
28421
|
+
warn(message, meta) {
|
|
28422
|
+
this.getEnabledInstances(LogLevel.Warn).forEach((x) => x.provider.warn(this.loggerName, message, this.serializeMeta(x.options, meta)));
|
|
28423
|
+
}
|
|
28424
|
+
error(message, meta) {
|
|
28425
|
+
this.getEnabledInstances(LogLevel.Error).forEach((x) => x.provider.error(this.loggerName, message, this.serializeMeta(x.options, meta)));
|
|
28426
|
+
}
|
|
28427
|
+
fatal(message, meta) {
|
|
28428
|
+
this.getEnabledInstances(LogLevel.Fatal).forEach((x) => x.provider.fatal(this.loggerName, message, this.serializeMeta(x.options, meta)));
|
|
28429
|
+
}
|
|
28430
|
+
exception(message, error, meta) {
|
|
28431
|
+
this.getEnabledInstances(LogLevel.Error).forEach((x) => x.provider.exception(this.loggerName, message, error, this.serializeMeta(x.options, meta)));
|
|
28432
|
+
}
|
|
28433
|
+
getEnabledInstances(level) {
|
|
28434
|
+
return this.container.instances.filter((x) => x.options.enabled && x.options.level <= level);
|
|
28435
|
+
}
|
|
28436
|
+
serializeMeta(options, meta) {
|
|
28437
|
+
const serializedMeta = meta
|
|
28438
|
+
? jsonSerialize(meta, {
|
|
28439
|
+
prettify: true,
|
|
28440
|
+
stripBinaryData: true,
|
|
28441
|
+
})
|
|
28442
|
+
: undefined;
|
|
28443
|
+
switch (options.serialization) {
|
|
28444
|
+
case MetaSerializationType.JSON:
|
|
28445
|
+
return serializedMeta;
|
|
28446
|
+
case MetaSerializationType.None:
|
|
28447
|
+
default:
|
|
28448
|
+
return serializedMeta ? JSON.parse(serializedMeta) : undefined;
|
|
28449
|
+
}
|
|
28450
|
+
}
|
|
28451
|
+
}
|
|
28452
|
+
class Log {
|
|
28453
|
+
static configure(instance) {
|
|
28454
|
+
this.container.instances.push(instance);
|
|
28455
|
+
}
|
|
28456
|
+
static getLogger(loggerName) {
|
|
28457
|
+
return new InternalLogger(loggerName, this.container);
|
|
28458
|
+
}
|
|
28459
|
+
}
|
|
28460
|
+
Log.container = {
|
|
28461
|
+
instances: [],
|
|
28462
|
+
};
|
|
28463
|
+
|
|
28464
|
+
class ConsoleLogger {
|
|
28465
|
+
debug(loggerName, message, meta) {
|
|
28414
28466
|
if (meta) {
|
|
28415
|
-
console.log(`${
|
|
28467
|
+
console.log(`${loggerName ? `[${loggerName}] ` : ""}${message}`, meta);
|
|
28416
28468
|
}
|
|
28417
28469
|
else {
|
|
28418
|
-
console.log(`${
|
|
28470
|
+
console.log(`${loggerName ? `[${loggerName}] ` : ""}${message}`);
|
|
28419
28471
|
}
|
|
28420
28472
|
}
|
|
28421
|
-
info(message, meta) {
|
|
28473
|
+
info(loggerName, message, meta) {
|
|
28422
28474
|
if (meta) {
|
|
28423
|
-
console.info(`${
|
|
28475
|
+
console.info(`${loggerName ? `[${loggerName}] ` : ""}${message}`, meta);
|
|
28424
28476
|
}
|
|
28425
28477
|
else {
|
|
28426
|
-
console.info(`${
|
|
28478
|
+
console.info(`${loggerName ? `[${loggerName}] ` : ""}${message}`);
|
|
28427
28479
|
}
|
|
28428
28480
|
}
|
|
28429
|
-
warn(message, meta) {
|
|
28481
|
+
warn(loggerName, message, meta) {
|
|
28430
28482
|
if (meta) {
|
|
28431
|
-
console.warn(`${
|
|
28483
|
+
console.warn(`${loggerName ? `[${loggerName}] ` : ""}${message}`, meta);
|
|
28432
28484
|
}
|
|
28433
28485
|
else {
|
|
28434
|
-
console.warn(`${
|
|
28486
|
+
console.warn(`${loggerName ? `[${loggerName}] ` : ""}${message}`);
|
|
28435
28487
|
}
|
|
28436
28488
|
}
|
|
28437
|
-
error(message, meta) {
|
|
28489
|
+
error(loggerName, message, meta) {
|
|
28438
28490
|
if (meta) {
|
|
28439
|
-
console.error(`${
|
|
28491
|
+
console.error(`${loggerName ? `[${loggerName}] ` : ""}${message}`, meta);
|
|
28440
28492
|
}
|
|
28441
28493
|
else {
|
|
28442
|
-
console.error(`${
|
|
28494
|
+
console.error(`${loggerName ? `[${loggerName}] ` : ""}${message}`);
|
|
28443
28495
|
}
|
|
28444
28496
|
}
|
|
28445
|
-
fatal(message, meta) {
|
|
28497
|
+
fatal(loggerName, message, meta) {
|
|
28446
28498
|
if (meta) {
|
|
28447
|
-
console.error(`${
|
|
28499
|
+
console.error(`${loggerName ? `[${loggerName}] ` : ""}${message}`, meta);
|
|
28448
28500
|
}
|
|
28449
28501
|
else {
|
|
28450
|
-
console.error(`${
|
|
28502
|
+
console.error(`${loggerName ? `[${loggerName}] ` : ""}${message}`);
|
|
28451
28503
|
}
|
|
28452
28504
|
}
|
|
28453
|
-
exception(message, error, meta) {
|
|
28505
|
+
exception(loggerName, message, error, meta) {
|
|
28454
28506
|
if (meta) {
|
|
28455
|
-
console.error(`${
|
|
28507
|
+
console.error(`${loggerName ? `[${loggerName}] ` : ""}${message}`, error, meta);
|
|
28456
28508
|
}
|
|
28457
28509
|
else {
|
|
28458
|
-
console.error(`${
|
|
28510
|
+
console.error(`${loggerName ? `[${loggerName}] ` : ""}${message}`, error);
|
|
28459
28511
|
}
|
|
28460
28512
|
}
|
|
28461
28513
|
}
|
|
28462
28514
|
|
|
28463
|
-
|
|
28464
|
-
|
|
28465
|
-
|
|
28466
|
-
|
|
28467
|
-
|
|
28468
|
-
|
|
28469
|
-
|
|
28470
|
-
|
|
28471
|
-
|
|
28472
|
-
|
|
28473
|
-
|
|
28474
|
-
|
|
28475
|
-
|
|
28476
|
-
|
|
28477
|
-
|
|
28478
|
-
|
|
28479
|
-
|
|
28480
|
-
|
|
28481
|
-
|
|
28482
|
-
|
|
28483
|
-
|
|
28484
|
-
|
|
28485
|
-
|
|
28486
|
-
|
|
28487
|
-
|
|
28488
|
-
|
|
28489
|
-
|
|
28490
|
-
|
|
28491
|
-
|
|
28492
|
-
}
|
|
28493
|
-
exception(message, error, meta) {
|
|
28494
|
-
if (this.options.enabled && this.options.level <= LogLevel.Error) {
|
|
28495
|
-
this.provider.exception(message, error, this.serializeMeta(meta));
|
|
28496
|
-
}
|
|
28515
|
+
const createHttpTransportOptions = (settings) => ({
|
|
28516
|
+
host: "http-intake.logs.datadoghq.eu",
|
|
28517
|
+
path: `/v1/input/${settings.apiKey}?ddsource=nodejs&service=${settings.service}`,
|
|
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.appName,
|
|
28529
|
+
role: settings.roleName,
|
|
28530
|
+
environment: settings.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);
|
|
28497
28544
|
}
|
|
28498
|
-
|
|
28499
|
-
|
|
28500
|
-
? jsonSerialize(meta, {
|
|
28501
|
-
prettify: true,
|
|
28502
|
-
stripBinaryData: true,
|
|
28503
|
-
})
|
|
28504
|
-
: undefined;
|
|
28505
|
-
switch (this.options.serialization) {
|
|
28506
|
-
case MetaSerializationType.JSON:
|
|
28507
|
-
return serializedMeta;
|
|
28508
|
-
case MetaSerializationType.None:
|
|
28509
|
-
default:
|
|
28510
|
-
return serializedMeta ? JSON.parse(serializedMeta) : undefined;
|
|
28511
|
-
}
|
|
28545
|
+
debug(loggerName, message, meta) {
|
|
28546
|
+
this.logger.debug(formatMessage(loggerName, message), meta);
|
|
28512
28547
|
}
|
|
28513
|
-
|
|
28514
|
-
|
|
28515
|
-
return new InternalLogger(options, new DefaultLogger(loggerName));
|
|
28516
|
-
};
|
|
28517
|
-
class Log {
|
|
28518
|
-
static setSerializationType(type) {
|
|
28519
|
-
this.options.serialization = type;
|
|
28548
|
+
info(loggerName, message, meta) {
|
|
28549
|
+
this.logger.info(formatMessage(loggerName, message), meta);
|
|
28520
28550
|
}
|
|
28521
|
-
|
|
28522
|
-
this.
|
|
28523
|
-
this.options.level = level;
|
|
28524
|
-
this.options.enabled = true;
|
|
28551
|
+
warn(loggerName, message, meta) {
|
|
28552
|
+
this.logger.warn(formatMessage(loggerName, message), meta);
|
|
28525
28553
|
}
|
|
28526
|
-
|
|
28527
|
-
this.
|
|
28554
|
+
error(loggerName, message, meta) {
|
|
28555
|
+
this.logger.error(formatMessage(loggerName, message), meta);
|
|
28528
28556
|
}
|
|
28529
|
-
|
|
28530
|
-
this.
|
|
28557
|
+
fatal(loggerName, message, meta) {
|
|
28558
|
+
this.logger.error(formatMessage(loggerName, message), meta);
|
|
28531
28559
|
}
|
|
28532
|
-
|
|
28533
|
-
|
|
28534
|
-
options: this.options,
|
|
28535
|
-
loggerName,
|
|
28536
|
-
});
|
|
28560
|
+
exception(loggerName, message, error, meta) {
|
|
28561
|
+
this.logger.error(formatMessage(loggerName, message), error, meta);
|
|
28537
28562
|
}
|
|
28538
28563
|
}
|
|
28539
|
-
Log.options = {
|
|
28540
|
-
enabled: true,
|
|
28541
|
-
level: LogLevel.Debug,
|
|
28542
|
-
serialization: MetaSerializationType.None,
|
|
28543
|
-
};
|
|
28544
28564
|
|
|
28545
28565
|
const logMemoryUsage = () => {
|
|
28546
28566
|
const usedMemory = process.memoryUsage();
|
|
@@ -28581,5 +28601,5 @@ const processArrayItemMove = (items, input) => {
|
|
|
28581
28601
|
}));
|
|
28582
28602
|
};
|
|
28583
28603
|
|
|
28584
|
-
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 };
|
|
28585
28605
|
//# sourceMappingURL=index.js.map
|