@jmlq/logger 0.1.0-alpha.2 → 0.1.0-alpha.4
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/README.md +347 -0
- package/dist/application/use-cases/flush-buffers.d.ts +6 -0
- package/dist/application/use-cases/flush-buffers.js +13 -0
- package/dist/application/use-cases/get-logs.d.ts +7 -0
- package/dist/application/use-cases/get-logs.js +24 -0
- package/dist/application/use-cases/index.d.ts +3 -0
- package/dist/application/use-cases/index.js +19 -0
- package/dist/application/use-cases/save-log.d.ts +13 -0
- package/dist/application/use-cases/save-log.js +30 -0
- package/dist/domain/contracts/index.d.ts +3 -0
- package/dist/domain/contracts/index.js +19 -0
- package/dist/domain/contracts/log.datasource.d.ts +8 -0
- package/dist/{config/interfaces/index.js → domain/contracts/log.datasource.js} +0 -1
- package/dist/domain/contracts/logger.d.ts +19 -0
- package/dist/domain/contracts/logger.js +2 -0
- package/dist/domain/contracts/pii.d.ts +5 -0
- package/dist/domain/contracts/pii.js +2 -0
- package/dist/domain/services/pii-redactor.d.ts +7 -24
- package/dist/domain/services/pii-redactor.js +55 -117
- package/dist/domain/types/index.d.ts +1 -0
- package/dist/{presentation → domain/types}/index.js +1 -1
- package/dist/domain/types/log.types.d.ts +28 -0
- package/dist/domain/types/log.types.js +2 -0
- package/dist/domain/value-objects/index.d.ts +1 -0
- package/dist/domain/{index.js → value-objects/index.js} +1 -1
- package/dist/domain/value-objects/log-level.d.ts +9 -0
- package/dist/domain/value-objects/log-level.js +37 -0
- package/dist/index.d.ts +5 -4
- package/dist/index.js +8 -18
- package/dist/infrastructure/adapters/composite.datasource.d.ts +11 -0
- package/dist/infrastructure/adapters/composite.datasource.js +46 -0
- package/dist/infrastructure/adapters/index.d.ts +1 -0
- package/dist/{config → infrastructure/adapters}/index.js +1 -2
- package/dist/presentation/factory/create-logger.d.ts +2 -0
- package/dist/presentation/factory/create-logger.js +29 -0
- package/dist/presentation/factory/index.d.ts +1 -2
- package/dist/presentation/factory/index.js +15 -72
- package/package.json +14 -2
- package/dist/Composite/index.d.ts +0 -9
- package/dist/Composite/index.js +0 -54
- package/dist/Factory/index.d.ts +0 -5
- package/dist/Factory/index.js +0 -23
- package/dist/config/index.d.ts +0 -2
- package/dist/config/interfaces/index.d.ts +0 -67
- package/dist/config/types/index.d.ts +0 -10
- package/dist/config/types/index.js +0 -13
- package/dist/domain/index.d.ts +0 -1
- package/dist/interfaces/index.d.ts +0 -35
- package/dist/interfaces/index.js +0 -13
- package/dist/presentation/index.d.ts +0 -1
package/dist/Factory/index.js
DELETED
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.createLogger = createLogger;
|
|
4
|
-
const __1 = require("..");
|
|
5
|
-
function createLogger(ds, opts) {
|
|
6
|
-
const write = async (level, message, meta) => {
|
|
7
|
-
if (level < opts.minLevel)
|
|
8
|
-
return;
|
|
9
|
-
// (Opcional) redactor PII aquí si opts.redactPII === true
|
|
10
|
-
await ds.save({ level, message, meta, timestamp: Date.now() });
|
|
11
|
-
};
|
|
12
|
-
const logger = {
|
|
13
|
-
trace: (m, meta) => write(__1.LogLevel.TRACE, m, meta),
|
|
14
|
-
debug: (m, meta) => write(__1.LogLevel.DEBUG, m, meta),
|
|
15
|
-
info: (m, meta) => write(__1.LogLevel.INFO, m, meta),
|
|
16
|
-
warn: (m, meta) => write(__1.LogLevel.WARN, m, meta),
|
|
17
|
-
error: (m, meta) => write(__1.LogLevel.ERROR, m, meta),
|
|
18
|
-
fatal: (m, meta) => write(__1.LogLevel.FATAL, m, meta),
|
|
19
|
-
flush: () => ds.flush?.() ?? Promise.resolve(),
|
|
20
|
-
dispose: () => ds.dispose?.() ?? Promise.resolve(),
|
|
21
|
-
};
|
|
22
|
-
return logger;
|
|
23
|
-
}
|
package/dist/config/index.d.ts
DELETED
|
@@ -1,67 +0,0 @@
|
|
|
1
|
-
import { LogLevel, LogMessage, PiiReplacement } from "..";
|
|
2
|
-
export interface ILog {
|
|
3
|
-
level: LogLevel;
|
|
4
|
-
message: string;
|
|
5
|
-
meta?: unknown;
|
|
6
|
-
timestamp: number;
|
|
7
|
-
}
|
|
8
|
-
export interface IGetLogsFilter {
|
|
9
|
-
levelMin?: LogLevel;
|
|
10
|
-
since?: number;
|
|
11
|
-
until?: number;
|
|
12
|
-
}
|
|
13
|
-
export interface ILogDatasource {
|
|
14
|
-
save(log: ILog): Promise<void>;
|
|
15
|
-
find?(filter?: IGetLogsFilter): Promise<ILog[]>;
|
|
16
|
-
flush?(): Promise<void>;
|
|
17
|
-
dispose?(): Promise<void>;
|
|
18
|
-
}
|
|
19
|
-
export interface ILogger {
|
|
20
|
-
trace: (msg: LogMessage, meta?: unknown) => Promise<void>;
|
|
21
|
-
debug: (msg: LogMessage, meta?: unknown) => Promise<void>;
|
|
22
|
-
info: (msg: LogMessage, meta?: unknown) => Promise<void>;
|
|
23
|
-
warn: (msg: LogMessage, meta?: unknown) => Promise<void>;
|
|
24
|
-
error: (msg: LogMessage, meta?: unknown) => Promise<void>;
|
|
25
|
-
fatal: (msg: LogMessage, meta?: unknown) => Promise<void>;
|
|
26
|
-
flush?: () => Promise<void>;
|
|
27
|
-
dispose?: () => Promise<void>;
|
|
28
|
-
}
|
|
29
|
-
export interface IPiiPattern {
|
|
30
|
-
/** (Opcional) Nombre del patrón para debug/telemetría */
|
|
31
|
-
name?: string;
|
|
32
|
-
/** Expresión regular a aplicar sobre strings */
|
|
33
|
-
regex: RegExp;
|
|
34
|
-
/** Reemplazo, por defecto "[REDACTED]" si no se provee */
|
|
35
|
-
replacement?: PiiReplacement;
|
|
36
|
-
}
|
|
37
|
-
export interface IPiiRedactorOptions {
|
|
38
|
-
/** Habilita/deshabilita redacción (permite control fino además del flag redactPII) */
|
|
39
|
-
enabled?: boolean;
|
|
40
|
-
/**
|
|
41
|
-
* Incluye patrones default (true) y fusiona con los custom. Si false, usa solo los personalizados
|
|
42
|
-
* por el cliente.
|
|
43
|
-
*/
|
|
44
|
-
includeDefaultPatterns?: boolean;
|
|
45
|
-
/** Patrones adicionales o propios del cliente */
|
|
46
|
-
patterns?: IPiiPattern[];
|
|
47
|
-
/**
|
|
48
|
-
* Redactar por nombre de clave (deep). Cualquier key que haga match será redacatada
|
|
49
|
-
* con "[REDACTED]". Acepta exacto o RegExp.
|
|
50
|
-
*/
|
|
51
|
-
redactKeys?: Array<string | RegExp>;
|
|
52
|
-
/**
|
|
53
|
-
* Claves que NO se deben redactar aunque coincidan con patrones o redactKeys.
|
|
54
|
-
* Prioridad: preserveKeys > redactKeys > patterns.
|
|
55
|
-
*/
|
|
56
|
-
preserveKeys?: Array<string | RegExp>;
|
|
57
|
-
}
|
|
58
|
-
export interface ICreateLoggerOptions {
|
|
59
|
-
minLevel?: LogLevel;
|
|
60
|
-
/** compatibilidad con lo que ya tienes */
|
|
61
|
-
redactPII?: boolean;
|
|
62
|
-
/** NUEVO: bloque de configuración PII */
|
|
63
|
-
pii?: IPiiRedactorOptions & {
|
|
64
|
-
/** atajo para permitir que el cliente mande solo patterns sin escribir PiiRedactorOptions */
|
|
65
|
-
patterns?: IPiiPattern[];
|
|
66
|
-
};
|
|
67
|
-
}
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
export declare enum LogLevel {
|
|
2
|
-
TRACE = 0,
|
|
3
|
-
DEBUG = 1,
|
|
4
|
-
INFO = 2,
|
|
5
|
-
WARN = 3,
|
|
6
|
-
ERROR = 4,
|
|
7
|
-
FATAL = 5
|
|
8
|
-
}
|
|
9
|
-
export type PiiReplacement = string | ((match: string, keyPath: string[]) => string);
|
|
10
|
-
export type LogMessage = string | Record<string, unknown> | Error;
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.LogLevel = void 0;
|
|
4
|
-
// ---- Types ----
|
|
5
|
-
var LogLevel;
|
|
6
|
-
(function (LogLevel) {
|
|
7
|
-
LogLevel[LogLevel["TRACE"] = 0] = "TRACE";
|
|
8
|
-
LogLevel[LogLevel["DEBUG"] = 1] = "DEBUG";
|
|
9
|
-
LogLevel[LogLevel["INFO"] = 2] = "INFO";
|
|
10
|
-
LogLevel[LogLevel["WARN"] = 3] = "WARN";
|
|
11
|
-
LogLevel[LogLevel["ERROR"] = 4] = "ERROR";
|
|
12
|
-
LogLevel[LogLevel["FATAL"] = 5] = "FATAL";
|
|
13
|
-
})(LogLevel || (exports.LogLevel = LogLevel = {}));
|
package/dist/domain/index.d.ts
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export * from "./services";
|
|
@@ -1,35 +0,0 @@
|
|
|
1
|
-
export declare enum LogLevel {
|
|
2
|
-
TRACE = 0,
|
|
3
|
-
DEBUG = 1,
|
|
4
|
-
INFO = 2,
|
|
5
|
-
WARN = 3,
|
|
6
|
-
ERROR = 4,
|
|
7
|
-
FATAL = 5
|
|
8
|
-
}
|
|
9
|
-
export interface Log {
|
|
10
|
-
level: LogLevel;
|
|
11
|
-
message: string;
|
|
12
|
-
meta?: unknown;
|
|
13
|
-
timestamp: number;
|
|
14
|
-
}
|
|
15
|
-
export interface GetLogsFilter {
|
|
16
|
-
levelMin?: LogLevel;
|
|
17
|
-
since?: number;
|
|
18
|
-
until?: number;
|
|
19
|
-
}
|
|
20
|
-
export interface ILogDatasource {
|
|
21
|
-
save(log: Log): Promise<void>;
|
|
22
|
-
find?(filter?: GetLogsFilter): Promise<Log[]>;
|
|
23
|
-
flush?(): Promise<void>;
|
|
24
|
-
dispose?(): Promise<void>;
|
|
25
|
-
}
|
|
26
|
-
export interface Logger {
|
|
27
|
-
trace: (msg: string, meta?: unknown) => Promise<void>;
|
|
28
|
-
debug: (msg: string, meta?: unknown) => Promise<void>;
|
|
29
|
-
info: (msg: string, meta?: unknown) => Promise<void>;
|
|
30
|
-
warn: (msg: string, meta?: unknown) => Promise<void>;
|
|
31
|
-
error: (msg: string, meta?: unknown) => Promise<void>;
|
|
32
|
-
fatal: (msg: string, meta?: unknown) => Promise<void>;
|
|
33
|
-
flush?: () => Promise<void>;
|
|
34
|
-
dispose?: () => Promise<void>;
|
|
35
|
-
}
|
package/dist/interfaces/index.js
DELETED
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.LogLevel = void 0;
|
|
4
|
-
// ---- Types & contratos ----
|
|
5
|
-
var LogLevel;
|
|
6
|
-
(function (LogLevel) {
|
|
7
|
-
LogLevel[LogLevel["TRACE"] = 0] = "TRACE";
|
|
8
|
-
LogLevel[LogLevel["DEBUG"] = 1] = "DEBUG";
|
|
9
|
-
LogLevel[LogLevel["INFO"] = 2] = "INFO";
|
|
10
|
-
LogLevel[LogLevel["WARN"] = 3] = "WARN";
|
|
11
|
-
LogLevel[LogLevel["ERROR"] = 4] = "ERROR";
|
|
12
|
-
LogLevel[LogLevel["FATAL"] = 5] = "FATAL";
|
|
13
|
-
})(LogLevel || (exports.LogLevel = LogLevel = {}));
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export * from "./factory";
|