@wireio/shared 1.0.3 → 1.0.5
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/lib/logging/InternalLogger.d.ts +4 -1
- package/lib/logging/InternalLogger.d.ts.map +1 -1
- package/lib/logging/InternalLogger.js +21 -4
- package/lib/logging/InternalLogger.js.map +1 -1
- package/lib/logging/LogRecord.d.ts +8 -5
- package/lib/logging/LogRecord.d.ts.map +1 -1
- package/lib/logging/Logger.d.ts +8 -4
- package/lib/logging/Logger.d.ts.map +1 -1
- package/lib/logging/Logger.js +32 -7
- package/lib/logging/Logger.js.map +1 -1
- package/lib/logging/LoggingManager.d.ts +4 -1
- package/lib/logging/LoggingManager.d.ts.map +1 -1
- package/lib/logging/LoggingManager.js +7 -0
- package/lib/logging/LoggingManager.js.map +1 -1
- package/lib/logging/appenders/aws-firehose/AWSFirehoseAppender.d.ts +3 -2
- package/lib/logging/appenders/aws-firehose/AWSFirehoseAppender.d.ts.map +1 -1
- package/lib/logging/appenders/aws-firehose/AWSFirehoseAppender.js +13 -10
- package/lib/logging/appenders/aws-firehose/AWSFirehoseAppender.js.map +1 -1
- package/lib/logging/appenders/aws-firehose/AWSFirehoseCredentialManager.d.ts +2 -0
- package/lib/logging/appenders/aws-firehose/AWSFirehoseCredentialManager.d.ts.map +1 -1
- package/lib/logging/appenders/aws-firehose/AWSFirehoseCredentialManager.js +7 -3
- package/lib/logging/appenders/aws-firehose/AWSFirehoseCredentialManager.js.map +1 -1
- package/lib/logging/appenders/index.d.ts +1 -1
- package/lib/logging/appenders/index.d.ts.map +1 -1
- package/lib/logging/appenders/index.js +1 -1
- package/lib/logging/appenders/index.js.map +1 -1
- package/lib/logging/appenders/push/PushLogRecordsAppender.d.ts +80 -0
- package/lib/logging/appenders/push/PushLogRecordsAppender.d.ts.map +1 -0
- package/lib/logging/appenders/push/PushLogRecordsAppender.js +292 -0
- package/lib/logging/appenders/push/PushLogRecordsAppender.js.map +1 -0
- package/lib/logging/appenders/push/index.d.ts +2 -0
- package/lib/logging/appenders/push/index.d.ts.map +1 -0
- package/lib/logging/appenders/push/index.js +2 -0
- package/lib/logging/appenders/push/index.js.map +1 -0
- package/package.json +1 -1
- package/lib/logging/appenders/DebugAppender.d.ts +0 -53
- package/lib/logging/appenders/DebugAppender.d.ts.map +0 -1
- package/lib/logging/appenders/DebugAppender.js +0 -183
- package/lib/logging/appenders/DebugAppender.js.map +0 -1
|
@@ -1,2 +1,5 @@
|
|
|
1
|
-
|
|
1
|
+
import { LevelKind } from "./Level.js";
|
|
2
|
+
import type { Logger } from "./Logger.js";
|
|
3
|
+
export declare function getInternalLogger(): Logger;
|
|
4
|
+
export declare function setInternalLoggerThresholdLevel(level: LevelKind): void;
|
|
2
5
|
//# sourceMappingURL=InternalLogger.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"InternalLogger.d.ts","sourceRoot":"","sources":["../../src/logging/InternalLogger.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"InternalLogger.d.ts","sourceRoot":"","sources":["../../src/logging/InternalLogger.ts"],"names":[],"mappings":"AACA,OAAO,EAAS,SAAS,EAAE,MAAM,YAAY,CAAA;AAC7C,OAAO,KAAK,EAAE,MAAM,EAAiB,MAAM,aAAa,CAAA;AAOxD,wBAAgB,iBAAiB,IAAI,MAAM,CAY1C;AAED,wBAAgB,+BAA+B,CAAC,KAAK,EAAE,SAAS,GAAG,IAAI,CAEtE"}
|
|
@@ -1,6 +1,23 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
1
|
+
import { ConsoleAppender } from "./appenders/ConsoleAppender.js";
|
|
2
|
+
import { Level } from "./Level.js";
|
|
3
|
+
import { getLoggingManager } from "./LoggingManager.js";
|
|
4
|
+
const INTERNAL_CATEGORY = "INTERNAL";
|
|
5
|
+
let internalLogger = null;
|
|
6
|
+
export function getInternalLogger() {
|
|
7
|
+
if (!internalLogger) {
|
|
8
|
+
internalLogger = getLoggingManager().getLogger(INTERNAL_CATEGORY, {
|
|
9
|
+
categoryInterpolator: (inCategory, options) => INTERNAL_CATEGORY,
|
|
10
|
+
overrideAppenders: [new ConsoleAppender()]
|
|
11
|
+
});
|
|
12
|
+
internalLogger.setOverrideLevel(Level.fatal);
|
|
13
|
+
}
|
|
14
|
+
return internalLogger;
|
|
15
|
+
}
|
|
16
|
+
export function setInternalLoggerThresholdLevel(level) {
|
|
17
|
+
getInternalLogger().setOverrideLevel(level);
|
|
18
|
+
}
|
|
19
|
+
if (typeof window !== "undefined") {
|
|
20
|
+
;
|
|
21
|
+
window.setInternalLoggerThresholdLevel = setInternalLoggerThresholdLevel;
|
|
5
22
|
}
|
|
6
23
|
//# sourceMappingURL=InternalLogger.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"InternalLogger.js","sourceRoot":"","sources":["../../src/logging/InternalLogger.ts"],"names":[],"mappings":"AAAA,
|
|
1
|
+
{"version":3,"file":"InternalLogger.js","sourceRoot":"","sources":["../../src/logging/InternalLogger.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAA;AAChE,OAAO,EAAE,KAAK,EAAa,MAAM,YAAY,CAAA;AAE7C,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAA;AAEvD,MAAM,iBAAiB,GAAG,UAAU,CAAA;AAEpC,IAAI,cAAc,GAAW,IAAI,CAAA;AAEjC,MAAM,UAAU,iBAAiB;IAC/B,IAAI,CAAC,cAAc,EAAE,CAAC;QACpB,cAAc,GAAG,iBAAiB,EAAE,CAAC,SAAS,CAAC,iBAAiB,EAAE;YAChE,oBAAoB,EAAE,CACpB,UAAkB,EAClB,OAAuB,EACvB,EAAE,CAAC,iBAAiB;YACtB,iBAAiB,EAAE,CAAC,IAAI,eAAe,EAAE,CAAC;SAC3C,CAAC,CAAA;QACF,cAAc,CAAC,gBAAgB,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;IAC9C,CAAC;IACD,OAAO,cAAc,CAAA;AACvB,CAAC;AAED,MAAM,UAAU,+BAA+B,CAAC,KAAgB;IAC9D,iBAAiB,EAAE,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAA;AAC7C,CAAC;AAED,IAAI,OAAO,MAAM,KAAK,WAAW,EAAC,CAAC;IACjC,CAAC;IAAC,MAAc,CAAC,+BAA+B,GAAG,+BAA+B,CAAA;AACpF,CAAC"}
|
|
@@ -1,14 +1,17 @@
|
|
|
1
|
-
import type { LevelKind } from "./Level";
|
|
2
|
-
export interface
|
|
1
|
+
import type { LevelKind } from "./Level.js";
|
|
2
|
+
export interface LogMetadata<Data extends {} = any> {
|
|
3
|
+
url?: string;
|
|
4
|
+
env?: string;
|
|
5
|
+
app?: string;
|
|
6
|
+
data?: Data;
|
|
7
|
+
}
|
|
8
|
+
export interface LogRecord<Data extends {} = any> extends LogMetadata<Data> {
|
|
3
9
|
timestamp: number;
|
|
4
10
|
category: string;
|
|
5
11
|
level: LevelKind;
|
|
6
12
|
message: string;
|
|
7
13
|
args?: any[];
|
|
8
|
-
data?: Data;
|
|
9
14
|
tags?: string[];
|
|
10
|
-
url?: string;
|
|
11
|
-
env?: string;
|
|
12
15
|
event?: string;
|
|
13
16
|
errorMessage?: string;
|
|
14
17
|
errorStack?: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LogRecord.d.ts","sourceRoot":"","sources":["../../src/logging/LogRecord.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"LogRecord.d.ts","sourceRoot":"","sources":["../../src/logging/LogRecord.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAA;AAG3C,MAAM,WAAW,WAAW,CAAC,IAAI,SAAS,EAAE,GAAG,GAAG;IAChD,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,IAAI,CAAC,EAAE,IAAI,CAAA;CACZ;AAED,MAAM,WAAW,SAAS,CAAC,IAAI,SAAS,EAAE,GAAG,GAAG,CAAE,SAAQ,WAAW,CAAC,IAAI,CAAC;IACzE,SAAS,EAAE,MAAM,CAAA;IACjB,QAAQ,EAAE,MAAM,CAAA;IAChB,KAAK,EAAE,SAAS,CAAA;IAChB,OAAO,EAAE,MAAM,CAAA;IACf,IAAI,CAAC,EAAE,GAAG,EAAE,CAAA;IACZ,IAAI,CAAC,EAAE,MAAM,EAAE,CAAA;IACf,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,UAAU,CAAC,EAAE,MAAM,CAAA;CACpB"}
|
package/lib/logging/Logger.d.ts
CHANGED
|
@@ -1,22 +1,25 @@
|
|
|
1
1
|
import { LevelKind } from "./Level.js";
|
|
2
2
|
import type { LoggingManager } from "./LoggingManager.js";
|
|
3
|
-
import type { LogRecord } from "./LogRecord.js";
|
|
3
|
+
import type { LogMetadata, LogRecord } from "./LogRecord.js";
|
|
4
|
+
import type { Appender } from "./Appender.js";
|
|
4
5
|
export interface LoggerOptions {
|
|
5
6
|
categoryInterpolator: CategoryInterpolator;
|
|
7
|
+
overrideAppenders: Array<Appender<LogRecord>>;
|
|
6
8
|
}
|
|
7
9
|
export type CategoryInterpolator = (inCategory: string, options?: LoggerOptions) => string;
|
|
8
10
|
export declare const filenameCategoryInterpolator: CategoryInterpolator;
|
|
9
11
|
export declare const defaultLoggerOptions: LoggerOptions;
|
|
10
12
|
export declare function toLogRecord(logger: Logger, levelOrRecord: LevelKind | LogRecord, args: any[]): {
|
|
11
13
|
timestamp: number;
|
|
14
|
+
url?: string;
|
|
15
|
+
env?: string;
|
|
16
|
+
app?: string;
|
|
17
|
+
data?: any;
|
|
12
18
|
category: string;
|
|
13
19
|
level: LevelKind;
|
|
14
20
|
message: string;
|
|
15
21
|
args?: any[];
|
|
16
|
-
data?: any;
|
|
17
22
|
tags?: string[];
|
|
18
|
-
url?: string;
|
|
19
|
-
env?: string;
|
|
20
23
|
event?: string;
|
|
21
24
|
errorMessage?: string;
|
|
22
25
|
errorStack?: string;
|
|
@@ -39,6 +42,7 @@ export declare class Logger {
|
|
|
39
42
|
*/
|
|
40
43
|
log(record: LogRecord): void;
|
|
41
44
|
log(level: LevelKind, message: string, ...args: any[]): void;
|
|
45
|
+
log(level: LevelKind, metadata: LogMetadata, message: string, ...args: any[]): void;
|
|
42
46
|
/**
|
|
43
47
|
* Factory for the log
|
|
44
48
|
* level functions
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Logger.d.ts","sourceRoot":"","sources":["../../src/logging/Logger.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,SAAS,EAAmB,MAAM,YAAY,CAAA;AACvD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAA;AACzD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;
|
|
1
|
+
{"version":3,"file":"Logger.d.ts","sourceRoot":"","sources":["../../src/logging/Logger.ts"],"names":[],"mappings":"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"}
|
package/lib/logging/Logger.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { assert, getValue, isString, isDefined, isFunction, isNumber } from "../guards/index.js";
|
|
2
2
|
import { Option } from "prelude-ts";
|
|
3
|
-
import { pick } from "lodash";
|
|
3
|
+
import { isObject, pick } from "lodash";
|
|
4
4
|
import { LevelThresholds } from "./Level.js";
|
|
5
5
|
import { isLogLevelKind } from "./util.js";
|
|
6
6
|
export const filenameCategoryInterpolator = (filename) => {
|
|
@@ -13,9 +13,22 @@ export const filenameCategoryInterpolator = (filename) => {
|
|
|
13
13
|
return category;
|
|
14
14
|
};
|
|
15
15
|
export const defaultLoggerOptions = {
|
|
16
|
-
categoryInterpolator: filenameCategoryInterpolator
|
|
16
|
+
categoryInterpolator: filenameCategoryInterpolator,
|
|
17
|
+
overrideAppenders: []
|
|
17
18
|
};
|
|
18
19
|
export function toLogRecord(logger, levelOrRecord, args) {
|
|
20
|
+
const globalMetadata = logger.manager.globalMetadata;
|
|
21
|
+
let metadata = {
|
|
22
|
+
...globalMetadata
|
|
23
|
+
};
|
|
24
|
+
if (isString(levelOrRecord) && isObject(args[0])) {
|
|
25
|
+
metadata = { ...metadata, ...args.shift() };
|
|
26
|
+
}
|
|
27
|
+
if (globalMetadata?.data)
|
|
28
|
+
metadata.data = {
|
|
29
|
+
...globalMetadata.data,
|
|
30
|
+
...metadata.data
|
|
31
|
+
};
|
|
19
32
|
const errRecord = Option.ofNullable(args.find((arg) => (isString(arg?.message) && !!arg.stack) || arg instanceof Error)).match({
|
|
20
33
|
Some: (err) => ({
|
|
21
34
|
errorMessage: getValue(() => err.message),
|
|
@@ -32,11 +45,19 @@ export function toLogRecord(logger, levelOrRecord, args) {
|
|
|
32
45
|
args: args.slice(1)
|
|
33
46
|
}
|
|
34
47
|
: levelOrRecord;
|
|
35
|
-
|
|
48
|
+
const record = {
|
|
36
49
|
...recordBase,
|
|
37
50
|
...errRecord,
|
|
51
|
+
...metadata,
|
|
38
52
|
timestamp: isNumber(recordBase.timestamp) && recordBase.timestamp > 0 ? recordBase.timestamp : Date.now(),
|
|
39
53
|
};
|
|
54
|
+
if (metadata.data) {
|
|
55
|
+
record.data = {
|
|
56
|
+
...metadata.data,
|
|
57
|
+
...(recordBase.data ?? {})
|
|
58
|
+
};
|
|
59
|
+
}
|
|
60
|
+
return record;
|
|
40
61
|
}
|
|
41
62
|
export class Logger {
|
|
42
63
|
manager;
|
|
@@ -65,7 +86,12 @@ export class Logger {
|
|
|
65
86
|
}
|
|
66
87
|
log(levelOrRecord, ...args) {
|
|
67
88
|
const record = toLogRecord(this, levelOrRecord, args);
|
|
68
|
-
this.
|
|
89
|
+
if (this.options.overrideAppenders.length) {
|
|
90
|
+
this.options.overrideAppenders.forEach((appender) => appender.append(record));
|
|
91
|
+
}
|
|
92
|
+
else {
|
|
93
|
+
this.manager.fire(record);
|
|
94
|
+
}
|
|
69
95
|
}
|
|
70
96
|
/**
|
|
71
97
|
* Factory for the log
|
|
@@ -94,10 +120,9 @@ export class Logger {
|
|
|
94
120
|
return () => {
|
|
95
121
|
const { rootThreshold } = this.manager;
|
|
96
122
|
const globalOverrideThreshold = this.manager.determineThresholdOverride(this.category);
|
|
97
|
-
const categoryThresholds = [
|
|
123
|
+
const categoryThresholds = isNumber(this.overrideThreshold) ? [this.overrideThreshold] : [
|
|
98
124
|
globalOverrideThreshold,
|
|
99
|
-
rootThreshold
|
|
100
|
-
this.overrideThreshold
|
|
125
|
+
rootThreshold
|
|
101
126
|
].filter(isNumber);
|
|
102
127
|
const categoryThreshold = Math.min(...categoryThresholds);
|
|
103
128
|
const recordThreshold = LevelThresholds[level];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Logger.js","sourceRoot":"","sources":["../../src/logging/Logger.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAA;AAChG,OAAO,EAAE,MAAM,EAAE,MAAM,YAAY,CAAA;AACnC,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAA;
|
|
1
|
+
{"version":3,"file":"Logger.js","sourceRoot":"","sources":["../../src/logging/Logger.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,12 +1,13 @@
|
|
|
1
1
|
import type { Appender } from "./Appender.js";
|
|
2
2
|
import { LevelKind } from "./Level.js";
|
|
3
3
|
import { Logger, LoggerOptions } from "./Logger.js";
|
|
4
|
-
import type { LogRecord } from "./LogRecord.js";
|
|
4
|
+
import type { LogMetadata, LogRecord } from "./LogRecord.js";
|
|
5
5
|
import { LogContext } from "./context/index.js";
|
|
6
6
|
export type CategoryMatch = RegExp | string;
|
|
7
7
|
export type ThresholdOverride = [match: CategoryMatch, level: LevelKind];
|
|
8
8
|
export interface LoggingManagerState<Record extends LogRecord> {
|
|
9
9
|
rootLevel: LevelKind;
|
|
10
|
+
globalMetadata?: LogMetadata;
|
|
10
11
|
appenders: Array<Appender<Record>>;
|
|
11
12
|
thresholdOverrides: Array<ThresholdOverride>;
|
|
12
13
|
}
|
|
@@ -19,6 +20,8 @@ export declare class LoggingManager<Record extends LogRecord = any> {
|
|
|
19
20
|
private readonly loggers;
|
|
20
21
|
private readonly state;
|
|
21
22
|
get rootLevel(): LevelKind;
|
|
23
|
+
get globalMetadata(): LogMetadata;
|
|
24
|
+
set globalMetadata(newMetadata: LogMetadata);
|
|
22
25
|
set rootLevel(newRootLevel: LevelKind);
|
|
23
26
|
get rootThreshold(): number;
|
|
24
27
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LoggingManager.d.ts","sourceRoot":"","sources":["../../src/logging/LoggingManager.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AAE7C,OAAO,EAAS,SAAS,EAAmB,MAAM,YAAY,CAAA;AAC9D,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AACnD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;
|
|
1
|
+
{"version":3,"file":"LoggingManager.d.ts","sourceRoot":"","sources":["../../src/logging/LoggingManager.ts"],"names":[],"mappings":"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"}
|
|
@@ -22,12 +22,19 @@ export class LoggingManager {
|
|
|
22
22
|
loggers = new Map();
|
|
23
23
|
state = {
|
|
24
24
|
appenders: [],
|
|
25
|
+
globalMetadata: {},
|
|
25
26
|
rootLevel: Level.info,
|
|
26
27
|
thresholdOverrides: kEnvThresholdOverrides
|
|
27
28
|
};
|
|
28
29
|
get rootLevel() {
|
|
29
30
|
return this.state.rootLevel;
|
|
30
31
|
}
|
|
32
|
+
get globalMetadata() {
|
|
33
|
+
return this.state.globalMetadata;
|
|
34
|
+
}
|
|
35
|
+
set globalMetadata(newMetadata) {
|
|
36
|
+
this.state.globalMetadata = newMetadata ?? {};
|
|
37
|
+
}
|
|
31
38
|
set rootLevel(newRootLevel) {
|
|
32
39
|
this.state.rootLevel = newRootLevel;
|
|
33
40
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LoggingManager.js","sourceRoot":"","sources":["../../src/logging/LoggingManager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAA;AACjE,OAAO,EAAE,MAAM,EAAE,MAAM,YAAY,CAAA;AACnC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AAEtD,OAAO,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAA;AAChE,OAAO,EAAE,KAAK,EAAa,eAAe,EAAE,MAAM,YAAY,CAAA;AAC9D,OAAO,EAAE,MAAM,EAAiB,MAAM,aAAa,CAAA;AAEnD,OAAO,EAAc,mBAAmB,EAAE,MAAM,oBAAoB,CAAA;AACpE,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,MAAM,cAAc,CAAA;
|
|
1
|
+
{"version":3,"file":"LoggingManager.js","sourceRoot":"","sources":["../../src/logging/LoggingManager.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,11 +2,12 @@ import AWSFirehoseCredentialManager from "./AWSFirehoseCredentialManager.js";
|
|
|
2
2
|
import { LogRecord } from "../../LogRecord.js";
|
|
3
3
|
import { Appender } from "../../Appender.js";
|
|
4
4
|
export declare class AWSFirehoseAppender<Record extends LogRecord = LogRecord> implements Appender<Record> {
|
|
5
|
-
readonly
|
|
5
|
+
readonly credentialEndpointUrl: string;
|
|
6
6
|
private pendingRecords;
|
|
7
7
|
private flushDeferred;
|
|
8
8
|
private flushIntervalMs;
|
|
9
|
-
|
|
9
|
+
readonly credentialManager: AWSFirehoseCredentialManager;
|
|
10
|
+
constructor(credentialEndpointUrl: string);
|
|
10
11
|
append(record: Record): void;
|
|
11
12
|
/**
|
|
12
13
|
* Create the firehose client and return
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AWSFirehoseAppender.d.ts","sourceRoot":"","sources":["../../../../src/logging/appenders/aws-firehose/AWSFirehoseAppender.ts"],"names":[],"mappings":"AASA,OAAO,4BAA4B,MAAM,mCAAmC,CAAA;AAK5E,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAA;AAC9C,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAA;
|
|
1
|
+
{"version":3,"file":"AWSFirehoseAppender.d.ts","sourceRoot":"","sources":["../../../../src/logging/appenders/aws-firehose/AWSFirehoseAppender.ts"],"names":[],"mappings":"AASA,OAAO,4BAA4B,MAAM,mCAAmC,CAAA;AAK5E,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAA;AAC9C,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAA;AAM5C,qBAAa,mBAAmB,CAAC,MAAM,SAAS,SAAS,GAAG,SAAS,CACnE,YAAW,QAAQ,CAAC,MAAM,CAAC;aAQT,qBAAqB,EAAE,MAAM;IAP/C,OAAO,CAAC,cAAc,CAAqB;IAC3C,OAAO,CAAC,aAAa,CAAgB;IACrC,OAAO,CAAC,eAAe,CAAQ;IAE/B,SAAgB,iBAAiB,EAAE,4BAA4B,CAAA;gBAG7C,qBAAqB,EAAE,MAAM;IAc/C,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAoB5B;;;;;;OAMG;IACH,OAAO,CAAC,WAAW;IAsBnB;;;;OAIG;YACW,KAAK;CA+EpB;AAED,eAAe,mBAAmB,CAAA"}
|
|
@@ -5,15 +5,17 @@ import { getInternalLogger } from "../../InternalLogger.js";
|
|
|
5
5
|
import { pick } from "lodash";
|
|
6
6
|
import { Deferred } from "../../../helpers/index.js";
|
|
7
7
|
const LogQueueMaxRecords = 10000;
|
|
8
|
-
const log = getInternalLogger(
|
|
8
|
+
const log = getInternalLogger();
|
|
9
9
|
export class AWSFirehoseAppender {
|
|
10
|
-
|
|
10
|
+
credentialEndpointUrl;
|
|
11
11
|
pendingRecords = Array();
|
|
12
12
|
flushDeferred;
|
|
13
13
|
flushIntervalMs = 1000;
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
14
|
+
credentialManager;
|
|
15
|
+
constructor(credentialEndpointUrl) {
|
|
16
|
+
this.credentialEndpointUrl = credentialEndpointUrl;
|
|
17
|
+
this.credentialManager = new AWSFirehoseCredentialManager(credentialEndpointUrl);
|
|
18
|
+
this.credentialManager.on("received", () => {
|
|
17
19
|
log.info("Credentials received, initializing firehose client");
|
|
18
20
|
if (!this.pendingRecords.length || !!this.flushDeferred) {
|
|
19
21
|
log.debug("Nothing to flush upon credential receipt OR flush already in progress");
|
|
@@ -31,11 +33,11 @@ export class AWSFirehoseAppender {
|
|
|
31
33
|
this.pendingRecords.splice(0, Math.abs(removeCount));
|
|
32
34
|
}
|
|
33
35
|
this.pendingRecords.push({
|
|
34
|
-
...record,
|
|
35
|
-
app: "web",
|
|
36
36
|
timestamp: Date.now(),
|
|
37
|
-
|
|
38
|
-
|
|
37
|
+
...record,
|
|
38
|
+
app: record.app?.length > 0 ? record.app : "UNKNOWN",
|
|
39
|
+
env: record.env?.length > 0 ? record.env : "UNKNOWN",
|
|
40
|
+
url: typeof window === "undefined" ? "local://" : window.location.href,
|
|
39
41
|
});
|
|
40
42
|
this.flush();
|
|
41
43
|
}
|
|
@@ -90,7 +92,8 @@ export class AWSFirehoseAppender {
|
|
|
90
92
|
try {
|
|
91
93
|
while (this.pendingRecords.length) {
|
|
92
94
|
const chunkSize = Math.min(this.pendingRecords.length, 10), records = this.pendingRecords.splice(0, chunkSize), recordJsons = records.map(record => JSON.stringify(record));
|
|
93
|
-
|
|
95
|
+
if (log.isDebugEnabled())
|
|
96
|
+
log.debug("Records", records);
|
|
94
97
|
const textEncoder = new TextEncoder(), batch = recordJsons.map(jsonStr => ({
|
|
95
98
|
Data: textEncoder.encode(jsonStr)
|
|
96
99
|
}));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AWSFirehoseAppender.js","sourceRoot":"","sources":["../../../../src/logging/appenders/aws-firehose/AWSFirehoseAppender.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,cAAc,EAAE,qBAAqB,EAAuB,MAAM,0BAA0B,CAAA;AACrG,OAAO,EAEL,qBAAqB,GACtB,MAAM,qBAAqB,CAAA;AAG5B,OAAO,4BAA4B,MAAM,mCAAmC,CAAA;AAC5E,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAA;AAE3D,OAAO,
|
|
1
|
+
{"version":3,"file":"AWSFirehoseAppender.js","sourceRoot":"","sources":["../../../../src/logging/appenders/aws-firehose/AWSFirehoseAppender.ts"],"names":[],"mappings":"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"}
|
|
@@ -12,8 +12,10 @@ export interface AWSFirehoseCredentialManagerEventMap {
|
|
|
12
12
|
expired: () => void;
|
|
13
13
|
}
|
|
14
14
|
export declare class AWSFirehoseCredentialManager extends EventEmitter3<AWSFirehoseCredentialManagerEventMap> {
|
|
15
|
+
readonly credentialEndpointUrl: string;
|
|
15
16
|
private refreshTimer;
|
|
16
17
|
private loadDeferred;
|
|
18
|
+
constructor(credentialEndpointUrl: string);
|
|
17
19
|
forceUpdateCredentials(): void;
|
|
18
20
|
getCredentials(): AWSCredentials;
|
|
19
21
|
hasCredentials(): boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AWSFirehoseCredentialManager.d.ts","sourceRoot":"","sources":["../../../../src/logging/appenders/aws-firehose/AWSFirehoseCredentialManager.ts"],"names":[],"mappings":"AAGA,OAAO,aAAa,MAAM,eAAe,CAAA;
|
|
1
|
+
{"version":3,"file":"AWSFirehoseCredentialManager.d.ts","sourceRoot":"","sources":["../../../../src/logging/appenders/aws-firehose/AWSFirehoseCredentialManager.ts"],"names":[],"mappings":"AAGA,OAAO,aAAa,MAAM,eAAe,CAAA;AAMzC,MAAM,WAAW,cAAc;IAC7B,WAAW,EAAE,MAAM,CAAA;IACnB,eAAe,EAAE,MAAM,CAAA;IACvB,YAAY,EAAE,MAAM,CAAA;IACpB,UAAU,EAAE,MAAM,CAAA;IAClB,MAAM,EAAE,MAAM,CAAA;IACd,UAAU,EAAE,MAAM,CAAA;CACnB;AAED,MAAM,WAAW,oCAAoC;IACnD,QAAQ,EAAE,CAAC,KAAK,EAAE,cAAc,KAAK,IAAI,CAAA;IACzC,OAAO,EAAE,MAAM,IAAI,CAAA;CACpB;AAED,qBAAa,4BAA6B,SAAQ,aAAa,CAAC,oCAAoC,CAAC;aAMjF,qBAAqB,EAAE,MAAM;IAJ/C,OAAO,CAAC,YAAY,CAAuC;IAC3D,OAAO,CAAC,YAAY,CAAkC;gBAGpC,qBAAqB,EAAE,MAAM;IAK/C,sBAAsB,IAAI,IAAI;IAS9B,cAAc,IAAI,cAAc;IAmBhC,cAAc,IAAI,OAAO;YAIX,IAAI;IAyBlB,eAAe,CAAC,aAAa,EAAE,cAAc,GAAG,MAAM,GAAG,IAAI;IA4B7D,aAAa,IAAI,MAAM;IAIvB,SAAS,IAAI,MAAM;IAInB,OAAO,IAAI,IAAI;CAMhB;AAGD,eAAe,4BAA4B,CAAA"}
|
|
@@ -1,12 +1,16 @@
|
|
|
1
1
|
import { Deferred } from "../../../helpers/index.js";
|
|
2
2
|
import { getInternalLogger } from "../../InternalLogger.js";
|
|
3
3
|
import EventEmitter3 from "eventemitter3";
|
|
4
|
-
const API_BASE = "https://log-ingest.shared.wire-dev.com";
|
|
5
4
|
const CRED_BUFFER_PADDING_MS = 3 * 60 * 1000; // 3 minutes
|
|
6
|
-
const log = getInternalLogger(
|
|
5
|
+
const log = getInternalLogger();
|
|
7
6
|
export class AWSFirehoseCredentialManager extends EventEmitter3 {
|
|
7
|
+
credentialEndpointUrl;
|
|
8
8
|
refreshTimer = null;
|
|
9
9
|
loadDeferred = null;
|
|
10
|
+
constructor(credentialEndpointUrl) {
|
|
11
|
+
super();
|
|
12
|
+
this.credentialEndpointUrl = credentialEndpointUrl;
|
|
13
|
+
}
|
|
10
14
|
forceUpdateCredentials() {
|
|
11
15
|
if (this.loadDeferred && !this.loadDeferred.isSettled()) {
|
|
12
16
|
this.loadDeferred.reject(new Error("force update"));
|
|
@@ -37,7 +41,7 @@ export class AWSFirehoseCredentialManager extends EventEmitter3 {
|
|
|
37
41
|
return this.loadDeferred.promise;
|
|
38
42
|
const deferred = this.loadDeferred = new Deferred();
|
|
39
43
|
try {
|
|
40
|
-
const r = await fetch(
|
|
44
|
+
const r = await fetch(this.credentialEndpointUrl, {
|
|
41
45
|
method: "GET",
|
|
42
46
|
credentials: "include",
|
|
43
47
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AWSFirehoseCredentialManager.js","sourceRoot":"","sources":["../../../../src/logging/appenders/aws-firehose/AWSFirehoseCredentialManager.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAA;AACpD,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAA;AAC3D,OAAO,aAAa,MAAM,eAAe,CAAA;AAEzC,MAAM,
|
|
1
|
+
{"version":3,"file":"AWSFirehoseCredentialManager.js","sourceRoot":"","sources":["../../../../src/logging/appenders/aws-firehose/AWSFirehoseCredentialManager.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/logging/appenders/index.ts"],"names":[],"mappings":"AAAA,cAAc,uCAAuC,CAAA;AACrD,cAAc,sBAAsB,CAAA;AACpC,cAAc,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/logging/appenders/index.ts"],"names":[],"mappings":"AAAA,cAAc,uCAAuC,CAAA;AACrD,cAAc,sBAAsB,CAAA;AACpC,cAAc,kCAAkC,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/logging/appenders/index.ts"],"names":[],"mappings":"AAAA,cAAc,uCAAuC,CAAA;AACrD,cAAc,sBAAsB,CAAA;AACpC,cAAc,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/logging/appenders/index.ts"],"names":[],"mappings":"AAAA,cAAc,uCAAuC,CAAA;AACrD,cAAc,sBAAsB,CAAA;AACpC,cAAc,kCAAkC,CAAA"}
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
import EventEmitter3 from "eventemitter3";
|
|
2
|
+
import { LogRecord } from "../../LogRecord.js";
|
|
3
|
+
import { Appender } from "../../Appender.js";
|
|
4
|
+
interface PushLogRecordsCredentialManagerEventMap {
|
|
5
|
+
received: () => void;
|
|
6
|
+
expired: () => void;
|
|
7
|
+
}
|
|
8
|
+
/**
|
|
9
|
+
* Manages credential cookie for PushLogRecordsAppender.
|
|
10
|
+
* Invokes the endpoint via POST to obtain a session cookie.
|
|
11
|
+
*/
|
|
12
|
+
export declare class PushLogRecordsCredentialManager extends EventEmitter3<PushLogRecordsCredentialManagerEventMap> {
|
|
13
|
+
readonly endpointUrl: string;
|
|
14
|
+
private refreshTimer;
|
|
15
|
+
private credentialDeferred;
|
|
16
|
+
private cookieExpirationTime;
|
|
17
|
+
constructor(endpointUrl: string);
|
|
18
|
+
/**
|
|
19
|
+
* Check if valid credentials exist
|
|
20
|
+
*/
|
|
21
|
+
hasCredentials(): boolean;
|
|
22
|
+
/**
|
|
23
|
+
* Check if the cookie exists in the browser
|
|
24
|
+
*/
|
|
25
|
+
private hasCookie;
|
|
26
|
+
/**
|
|
27
|
+
* Get credentials, fetching them if necessary
|
|
28
|
+
*/
|
|
29
|
+
ensureCredentials(): Promise<boolean>;
|
|
30
|
+
/**
|
|
31
|
+
* Force refresh of credentials
|
|
32
|
+
*/
|
|
33
|
+
forceRefresh(): void;
|
|
34
|
+
/**
|
|
35
|
+
* Fetch credentials from the endpoint
|
|
36
|
+
*/
|
|
37
|
+
private fetchCredentials;
|
|
38
|
+
/**
|
|
39
|
+
* Schedule a credential refresh before expiration
|
|
40
|
+
*/
|
|
41
|
+
private scheduleRefresh;
|
|
42
|
+
/**
|
|
43
|
+
* Clean up resources
|
|
44
|
+
*/
|
|
45
|
+
destroy(): void;
|
|
46
|
+
}
|
|
47
|
+
/**
|
|
48
|
+
* Appender that pushes log records to a remote endpoint via HTTP PUT.
|
|
49
|
+
* Batches records and sends when queue reaches FLUSH_QUEUE_DEPTH or FLUSH_INTERVAL_MS has elapsed.
|
|
50
|
+
*/
|
|
51
|
+
export declare class PushLogRecordsAppender<Record extends LogRecord = LogRecord> implements Appender<Record> {
|
|
52
|
+
readonly endpointUrl: string;
|
|
53
|
+
private pendingRecords;
|
|
54
|
+
private flushDeferred;
|
|
55
|
+
private flushTimer;
|
|
56
|
+
readonly credentialManager: PushLogRecordsCredentialManager;
|
|
57
|
+
constructor(endpointUrl: string);
|
|
58
|
+
/**
|
|
59
|
+
* Append a log record to the queue
|
|
60
|
+
*/
|
|
61
|
+
append(record: Record): void;
|
|
62
|
+
/**
|
|
63
|
+
* Schedule a flush after the interval
|
|
64
|
+
*/
|
|
65
|
+
private scheduleFlush;
|
|
66
|
+
/**
|
|
67
|
+
* Flush pending records to the endpoint
|
|
68
|
+
*/
|
|
69
|
+
private flush;
|
|
70
|
+
/**
|
|
71
|
+
* Force an immediate flush
|
|
72
|
+
*/
|
|
73
|
+
forceFlush(): Promise<void>;
|
|
74
|
+
/**
|
|
75
|
+
* Clean up resources
|
|
76
|
+
*/
|
|
77
|
+
destroy(): void;
|
|
78
|
+
}
|
|
79
|
+
export default PushLogRecordsAppender;
|
|
80
|
+
//# sourceMappingURL=PushLogRecordsAppender.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PushLogRecordsAppender.d.ts","sourceRoot":"","sources":["../../../../src/logging/appenders/push/PushLogRecordsAppender.ts"],"names":[],"mappings":"AACA,OAAO,aAAa,MAAM,eAAe,CAAA;AAEzC,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAA;AAC9C,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAA;AAU5C,UAAU,uCAAuC;IAC/C,QAAQ,EAAE,MAAM,IAAI,CAAA;IACpB,OAAO,EAAE,MAAM,IAAI,CAAA;CACpB;AAED;;;GAGG;AACH,qBAAa,+BAAgC,SAAQ,aAAa,CAAC,uCAAuC,CAAC;aAK7E,WAAW,EAAE,MAAM;IAJ/C,OAAO,CAAC,YAAY,CAA6C;IACjE,OAAO,CAAC,kBAAkB,CAA8B;IACxD,OAAO,CAAC,oBAAoB,CAAsB;gBAEtB,WAAW,EAAE,MAAM;IAI/C;;OAEG;IACH,cAAc,IAAI,OAAO;IAczB;;OAEG;IACH,OAAO,CAAC,SAAS;IAQjB;;OAEG;IACG,iBAAiB,IAAI,OAAO,CAAC,OAAO,CAAC;IAoB3C;;OAEG;IACH,YAAY,IAAI,IAAI;IAkBpB;;OAEG;YACW,gBAAgB;IAoC9B;;OAEG;IACH,OAAO,CAAC,eAAe;IAevB;;OAEG;IACH,OAAO,IAAI,IAAI;CAahB;AAED;;;GAGG;AACH,qBAAa,sBAAsB,CAAC,MAAM,SAAS,SAAS,GAAG,SAAS,CAAE,YAAW,QAAQ,CAAC,MAAM,CAAC;aAOvE,WAAW,EAAE,MAAM;IAN/C,OAAO,CAAC,cAAc,CAAkB;IACxC,OAAO,CAAC,aAAa,CAA8B;IACnD,OAAO,CAAC,UAAU,CAA6C;IAE/D,SAAgB,iBAAiB,EAAE,+BAA+B,CAAA;gBAEtC,WAAW,EAAE,MAAM;IAa/C;;OAEG;IACH,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IA6B5B;;OAEG;IACH,OAAO,CAAC,aAAa;IAarB;;OAEG;YACW,KAAK;IAwDnB;;OAEG;IACG,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IASjC;;OAEG;IACH,OAAO,IAAI,IAAI;CAehB;AAED,eAAe,sBAAsB,CAAA"}
|
|
@@ -0,0 +1,292 @@
|
|
|
1
|
+
/* eslint-disable typescript/no-explicit-any */
|
|
2
|
+
import EventEmitter3 from "eventemitter3";
|
|
3
|
+
import { Deferred } from "../../../helpers/index.js";
|
|
4
|
+
// Constants for tuning (adjustable in development)
|
|
5
|
+
const COOKIE_EXPIRATION_MS = 30 * 60 * 1000; // 30 minutes
|
|
6
|
+
const COOKIE_REFRESH_BUFFER_MS = 2 * 60 * 1000; // Refresh 2 minutes before expiration
|
|
7
|
+
const FLUSH_QUEUE_DEPTH = 100;
|
|
8
|
+
const FLUSH_INTERVAL_MS = 10 * 1000; // 10 seconds
|
|
9
|
+
const LOG_QUEUE_MAX_RECORDS = 10000;
|
|
10
|
+
const COOKIE_NAME = "wire_logs_id";
|
|
11
|
+
/**
|
|
12
|
+
* Manages credential cookie for PushLogRecordsAppender.
|
|
13
|
+
* Invokes the endpoint via POST to obtain a session cookie.
|
|
14
|
+
*/
|
|
15
|
+
export class PushLogRecordsCredentialManager extends EventEmitter3 {
|
|
16
|
+
endpointUrl;
|
|
17
|
+
refreshTimer = null;
|
|
18
|
+
credentialDeferred = null;
|
|
19
|
+
cookieExpirationTime = null;
|
|
20
|
+
constructor(endpointUrl) {
|
|
21
|
+
super();
|
|
22
|
+
this.endpointUrl = endpointUrl;
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* Check if valid credentials exist
|
|
26
|
+
*/
|
|
27
|
+
hasCredentials() {
|
|
28
|
+
if (!this.cookieExpirationTime) {
|
|
29
|
+
return false;
|
|
30
|
+
}
|
|
31
|
+
if (Date.now() >= this.cookieExpirationTime) {
|
|
32
|
+
this.cookieExpirationTime = null;
|
|
33
|
+
this.emit("expired");
|
|
34
|
+
return false;
|
|
35
|
+
}
|
|
36
|
+
return this.hasCookie();
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* Check if the cookie exists in the browser
|
|
40
|
+
*/
|
|
41
|
+
hasCookie() {
|
|
42
|
+
if (typeof document === "undefined") {
|
|
43
|
+
return false;
|
|
44
|
+
}
|
|
45
|
+
return document.cookie.split(";").some((item) => item.trim().startsWith(`${COOKIE_NAME}=`));
|
|
46
|
+
}
|
|
47
|
+
/**
|
|
48
|
+
* Get credentials, fetching them if necessary
|
|
49
|
+
*/
|
|
50
|
+
async ensureCredentials() {
|
|
51
|
+
// If we have valid credentials, return immediately
|
|
52
|
+
if (this.hasCredentials()) {
|
|
53
|
+
return true;
|
|
54
|
+
}
|
|
55
|
+
// If a fetch is already in progress, wait for it
|
|
56
|
+
if (this.credentialDeferred && !this.credentialDeferred.isSettled()) {
|
|
57
|
+
try {
|
|
58
|
+
await this.credentialDeferred.promise;
|
|
59
|
+
return this.hasCredentials();
|
|
60
|
+
}
|
|
61
|
+
catch {
|
|
62
|
+
return false;
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
// Fetch new credentials
|
|
66
|
+
return this.fetchCredentials();
|
|
67
|
+
}
|
|
68
|
+
/**
|
|
69
|
+
* Force refresh of credentials
|
|
70
|
+
*/
|
|
71
|
+
forceRefresh() {
|
|
72
|
+
if (this.refreshTimer) {
|
|
73
|
+
clearTimeout(this.refreshTimer);
|
|
74
|
+
this.refreshTimer = null;
|
|
75
|
+
}
|
|
76
|
+
this.cookieExpirationTime = null;
|
|
77
|
+
if (this.credentialDeferred && !this.credentialDeferred.isSettled()) {
|
|
78
|
+
this.credentialDeferred.reject(new Error("Force refresh requested"));
|
|
79
|
+
}
|
|
80
|
+
this.credentialDeferred = null;
|
|
81
|
+
this.fetchCredentials().catch(() => {
|
|
82
|
+
// Ignore errors during force refresh, they'll be handled on next request
|
|
83
|
+
});
|
|
84
|
+
}
|
|
85
|
+
/**
|
|
86
|
+
* Fetch credentials from the endpoint
|
|
87
|
+
*/
|
|
88
|
+
async fetchCredentials() {
|
|
89
|
+
const deferred = (this.credentialDeferred = new Deferred());
|
|
90
|
+
try {
|
|
91
|
+
const response = await fetch(this.endpointUrl, {
|
|
92
|
+
method: "POST",
|
|
93
|
+
mode: "cors",
|
|
94
|
+
credentials: "include",
|
|
95
|
+
headers: {
|
|
96
|
+
"Content-Type": "application/json",
|
|
97
|
+
},
|
|
98
|
+
body: JSON.stringify({}),
|
|
99
|
+
});
|
|
100
|
+
if (!response.ok) {
|
|
101
|
+
throw new Error(`Credential request failed with status ${response.status}`);
|
|
102
|
+
}
|
|
103
|
+
// Cookie is set by Set-Cookie header, we just need to track expiration
|
|
104
|
+
this.cookieExpirationTime = Date.now() + COOKIE_EXPIRATION_MS;
|
|
105
|
+
// Schedule refresh before expiration
|
|
106
|
+
this.scheduleRefresh();
|
|
107
|
+
deferred.resolve();
|
|
108
|
+
this.emit("received");
|
|
109
|
+
return true;
|
|
110
|
+
}
|
|
111
|
+
catch (err) {
|
|
112
|
+
console.debug("Failed to fetch push log credentials", err);
|
|
113
|
+
deferred.reject(err);
|
|
114
|
+
this.credentialDeferred = null;
|
|
115
|
+
return false;
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
/**
|
|
119
|
+
* Schedule a credential refresh before expiration
|
|
120
|
+
*/
|
|
121
|
+
scheduleRefresh() {
|
|
122
|
+
if (this.refreshTimer) {
|
|
123
|
+
clearTimeout(this.refreshTimer);
|
|
124
|
+
}
|
|
125
|
+
const refreshIn = COOKIE_EXPIRATION_MS - COOKIE_REFRESH_BUFFER_MS;
|
|
126
|
+
this.refreshTimer = setTimeout(() => {
|
|
127
|
+
this.credentialDeferred = null;
|
|
128
|
+
this.fetchCredentials().catch(() => {
|
|
129
|
+
// Log but don't throw - will retry on next request
|
|
130
|
+
console.debug("Scheduled credential refresh failed");
|
|
131
|
+
});
|
|
132
|
+
}, refreshIn);
|
|
133
|
+
}
|
|
134
|
+
/**
|
|
135
|
+
* Clean up resources
|
|
136
|
+
*/
|
|
137
|
+
destroy() {
|
|
138
|
+
if (this.refreshTimer) {
|
|
139
|
+
clearTimeout(this.refreshTimer);
|
|
140
|
+
this.refreshTimer = null;
|
|
141
|
+
}
|
|
142
|
+
if (this.credentialDeferred && !this.credentialDeferred.isSettled()) {
|
|
143
|
+
this.credentialDeferred.reject(new Error("Credential manager destroyed"));
|
|
144
|
+
}
|
|
145
|
+
this.credentialDeferred = null;
|
|
146
|
+
this.cookieExpirationTime = null;
|
|
147
|
+
}
|
|
148
|
+
}
|
|
149
|
+
/**
|
|
150
|
+
* Appender that pushes log records to a remote endpoint via HTTP PUT.
|
|
151
|
+
* Batches records and sends when queue reaches FLUSH_QUEUE_DEPTH or FLUSH_INTERVAL_MS has elapsed.
|
|
152
|
+
*/
|
|
153
|
+
export class PushLogRecordsAppender {
|
|
154
|
+
endpointUrl;
|
|
155
|
+
pendingRecords = [];
|
|
156
|
+
flushDeferred = null;
|
|
157
|
+
flushTimer = null;
|
|
158
|
+
credentialManager;
|
|
159
|
+
constructor(endpointUrl) {
|
|
160
|
+
this.endpointUrl = endpointUrl;
|
|
161
|
+
this.credentialManager = new PushLogRecordsCredentialManager(endpointUrl);
|
|
162
|
+
this.credentialManager.on("received", () => {
|
|
163
|
+
if (!this.pendingRecords.length || this.flushDeferred) {
|
|
164
|
+
return;
|
|
165
|
+
}
|
|
166
|
+
this.flush().catch(() => {
|
|
167
|
+
// Errors handled in flush
|
|
168
|
+
});
|
|
169
|
+
});
|
|
170
|
+
}
|
|
171
|
+
/**
|
|
172
|
+
* Append a log record to the queue
|
|
173
|
+
*/
|
|
174
|
+
append(record) {
|
|
175
|
+
// Enforce max queue size by removing oldest records
|
|
176
|
+
const pendingCount = this.pendingRecords.length + 1;
|
|
177
|
+
const removeCount = pendingCount - LOG_QUEUE_MAX_RECORDS;
|
|
178
|
+
if (removeCount > 0) {
|
|
179
|
+
this.pendingRecords.splice(0, removeCount);
|
|
180
|
+
}
|
|
181
|
+
// Add the record with enriched metadata
|
|
182
|
+
this.pendingRecords.push({
|
|
183
|
+
timestamp: Date.now(),
|
|
184
|
+
...record,
|
|
185
|
+
app: record.app && record.app.length > 0 ? record.app : "UNKNOWN",
|
|
186
|
+
env: record.env && record.env.length > 0 ? record.env : "UNKNOWN",
|
|
187
|
+
url: typeof window === "undefined" ? "local://" : window.location.href,
|
|
188
|
+
});
|
|
189
|
+
// Check if we should flush immediately due to queue depth
|
|
190
|
+
if (this.pendingRecords.length >= FLUSH_QUEUE_DEPTH) {
|
|
191
|
+
this.flush().catch(() => {
|
|
192
|
+
// Errors handled in flush
|
|
193
|
+
});
|
|
194
|
+
}
|
|
195
|
+
else {
|
|
196
|
+
// Schedule a flush if not already scheduled
|
|
197
|
+
this.scheduleFlush();
|
|
198
|
+
}
|
|
199
|
+
}
|
|
200
|
+
/**
|
|
201
|
+
* Schedule a flush after the interval
|
|
202
|
+
*/
|
|
203
|
+
scheduleFlush() {
|
|
204
|
+
if (this.flushTimer) {
|
|
205
|
+
return; // Already scheduled
|
|
206
|
+
}
|
|
207
|
+
this.flushTimer = setTimeout(() => {
|
|
208
|
+
this.flushTimer = null;
|
|
209
|
+
this.flush().catch(() => {
|
|
210
|
+
// Errors handled in flush
|
|
211
|
+
});
|
|
212
|
+
}, FLUSH_INTERVAL_MS);
|
|
213
|
+
}
|
|
214
|
+
/**
|
|
215
|
+
* Flush pending records to the endpoint
|
|
216
|
+
*/
|
|
217
|
+
async flush() {
|
|
218
|
+
// Prevent concurrent flushes
|
|
219
|
+
if (this.flushDeferred) {
|
|
220
|
+
return this.flushDeferred.promise;
|
|
221
|
+
}
|
|
222
|
+
// Nothing to flush
|
|
223
|
+
if (!this.pendingRecords.length) {
|
|
224
|
+
return;
|
|
225
|
+
}
|
|
226
|
+
// Ensure we have valid credentials
|
|
227
|
+
const hasCredentials = await this.credentialManager.ensureCredentials();
|
|
228
|
+
if (!hasCredentials) {
|
|
229
|
+
console.debug("Failed to push log records", "No valid credentials available");
|
|
230
|
+
return;
|
|
231
|
+
}
|
|
232
|
+
const deferred = (this.flushDeferred = new Deferred());
|
|
233
|
+
try {
|
|
234
|
+
// Take all pending records for this flush
|
|
235
|
+
const records = this.pendingRecords.splice(0, this.pendingRecords.length);
|
|
236
|
+
const response = await fetch(this.endpointUrl, {
|
|
237
|
+
method: "PUT",
|
|
238
|
+
mode: "cors",
|
|
239
|
+
credentials: "include",
|
|
240
|
+
headers: {
|
|
241
|
+
"Content-Type": "application/json",
|
|
242
|
+
},
|
|
243
|
+
body: JSON.stringify(records),
|
|
244
|
+
});
|
|
245
|
+
if (!response.ok) {
|
|
246
|
+
// Re-queue records on failure
|
|
247
|
+
this.pendingRecords.unshift(...records);
|
|
248
|
+
throw new Error(`Push failed with status ${response.status}`);
|
|
249
|
+
}
|
|
250
|
+
deferred.resolve();
|
|
251
|
+
}
|
|
252
|
+
catch (err) {
|
|
253
|
+
console.debug("Failed to push log records", err);
|
|
254
|
+
deferred.reject(err);
|
|
255
|
+
}
|
|
256
|
+
finally {
|
|
257
|
+
this.flushDeferred = null;
|
|
258
|
+
// If more records accumulated during flush, schedule another
|
|
259
|
+
if (this.pendingRecords.length > 0) {
|
|
260
|
+
this.scheduleFlush();
|
|
261
|
+
}
|
|
262
|
+
}
|
|
263
|
+
return deferred.promise;
|
|
264
|
+
}
|
|
265
|
+
/**
|
|
266
|
+
* Force an immediate flush
|
|
267
|
+
*/
|
|
268
|
+
async forceFlush() {
|
|
269
|
+
if (this.flushTimer) {
|
|
270
|
+
clearTimeout(this.flushTimer);
|
|
271
|
+
this.flushTimer = null;
|
|
272
|
+
}
|
|
273
|
+
return this.flush();
|
|
274
|
+
}
|
|
275
|
+
/**
|
|
276
|
+
* Clean up resources
|
|
277
|
+
*/
|
|
278
|
+
destroy() {
|
|
279
|
+
if (this.flushTimer) {
|
|
280
|
+
clearTimeout(this.flushTimer);
|
|
281
|
+
this.flushTimer = null;
|
|
282
|
+
}
|
|
283
|
+
this.credentialManager.destroy();
|
|
284
|
+
if (this.flushDeferred && !this.flushDeferred.isSettled()) {
|
|
285
|
+
this.flushDeferred.reject(new Error("Appender destroyed"));
|
|
286
|
+
}
|
|
287
|
+
this.flushDeferred = null;
|
|
288
|
+
this.pendingRecords = [];
|
|
289
|
+
}
|
|
290
|
+
}
|
|
291
|
+
export default PushLogRecordsAppender;
|
|
292
|
+
//# sourceMappingURL=PushLogRecordsAppender.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PushLogRecordsAppender.js","sourceRoot":"","sources":["../../../../src/logging/appenders/push/PushLogRecordsAppender.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/logging/appenders/push/index.ts"],"names":[],"mappings":"AAAA,cAAc,6BAA6B,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/logging/appenders/push/index.ts"],"names":[],"mappings":"AAAA,cAAc,6BAA6B,CAAA"}
|
package/package.json
CHANGED
|
@@ -1,53 +0,0 @@
|
|
|
1
|
-
import type { LogRecord } from "../LogRecord";
|
|
2
|
-
import type { Appender } from "../Appender";
|
|
3
|
-
import Debug from "debug";
|
|
4
|
-
import { ConsoleAppender, ConsoleAppenderConfig } from "./ConsoleAppender.js";
|
|
5
|
-
import type { Formatter } from "../Formatter";
|
|
6
|
-
/**
|
|
7
|
-
* DebugAppender Configuration
|
|
8
|
-
*/
|
|
9
|
-
export interface DebugAppenderConfig extends ConsoleAppenderConfig {
|
|
10
|
-
hideDate: boolean;
|
|
11
|
-
timeOnly: boolean;
|
|
12
|
-
useConsole: boolean;
|
|
13
|
-
useStdout: boolean;
|
|
14
|
-
categoryPrefix: string;
|
|
15
|
-
}
|
|
16
|
-
/**
|
|
17
|
-
* Partial of config, used for shortening instead of Partial<...>
|
|
18
|
-
*/
|
|
19
|
-
export type DebugAppenderOptions = Partial<DebugAppenderConfig>;
|
|
20
|
-
/**
|
|
21
|
-
* Context for using `debugFormatter`
|
|
22
|
-
*/
|
|
23
|
-
export type DebugFormatterContext = {
|
|
24
|
-
debugConfig: DebugAppenderConfig;
|
|
25
|
-
debug: Debug.Debugger;
|
|
26
|
-
};
|
|
27
|
-
/**
|
|
28
|
-
* Uses `debug` package for logging, very useful
|
|
29
|
-
*
|
|
30
|
-
* @param {LogRecord} record to format
|
|
31
|
-
* @param {DebugFormatterContext} context for this formatter
|
|
32
|
-
* @returns
|
|
33
|
-
*/
|
|
34
|
-
export declare const debugFormatter: Formatter<Array<any>, DebugFormatterContext>;
|
|
35
|
-
/**
|
|
36
|
-
* Debug appender, the simple default appender used
|
|
37
|
-
* everywhere OOB
|
|
38
|
-
*/
|
|
39
|
-
export declare class DebugAppender<Record extends LogRecord> extends ConsoleAppender<Record> implements Appender<Record> {
|
|
40
|
-
readonly debugConfig: DebugAppenderConfig;
|
|
41
|
-
/**
|
|
42
|
-
* Handle log records, transform, push to ES
|
|
43
|
-
*
|
|
44
|
-
* @param record
|
|
45
|
-
*/
|
|
46
|
-
append(record: Record): void;
|
|
47
|
-
/**
|
|
48
|
-
*
|
|
49
|
-
* @param {Partial<DebugAppenderOptions>} options
|
|
50
|
-
*/
|
|
51
|
-
constructor(options?: Partial<Omit<DebugAppenderOptions, "formatter">>);
|
|
52
|
-
}
|
|
53
|
-
//# sourceMappingURL=DebugAppender.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"DebugAppender.d.ts","sourceRoot":"","sources":["../../../src/logging/appenders/DebugAppender.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAA;AAC7C,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAA;AAE3C,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,EACL,eAAe,EAAE,qBAAqB,EACvC,MAAM,sBAAsB,CAAA;AAC7B,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAA;AAiC7C;;GAEG;AACH,MAAM,WAAW,mBAAoB,SAAQ,qBAAqB;IAChE,QAAQ,EAAE,OAAO,CAAA;IACjB,QAAQ,EAAE,OAAO,CAAA;IACjB,UAAU,EAAE,OAAO,CAAA;IACnB,SAAS,EAAE,OAAO,CAAA;IAClB,cAAc,EAAE,MAAM,CAAA;CACvB;AAED;;GAEG;AACH,MAAM,MAAM,oBAAoB,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAAA;AAsE/D;;GAEG;AACH,MAAM,MAAM,qBAAqB,GAAG;IAClC,WAAW,EAAE,mBAAmB,CAAA;IAChC,KAAK,EAAE,KAAK,CAAC,QAAQ,CAAA;CACtB,CAAA;AAED;;;;;;GAMG;AACH,eAAO,MAAM,cAAc,EAAE,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,qBAAqB,CAqCvE,CAAA;AAmBD;;;GAGG;AACH,qBAAa,aAAa,CAAC,MAAM,SAAS,SAAS,CACjD,SAAQ,eAAe,CAAC,MAAM,CAC9B,YAAW,QAAQ,CAAC,MAAM,CAAC;IAE3B,QAAQ,CAAC,WAAW,EAAE,mBAAmB,CAAA;IAGzC;;;;OAIG;IACH,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IA6B5B;;;OAGG;gBACS,OAAO,GAAE,OAAO,CAAC,IAAI,CAAC,oBAAoB,EAAE,WAAW,CAAC,CAAM;CAS3E"}
|
|
@@ -1,183 +0,0 @@
|
|
|
1
|
-
import Debug from "debug";
|
|
2
|
-
import { ConsoleAppender, kDefaultConsoleAppenderConfig } from "./ConsoleAppender.js";
|
|
3
|
-
import { isEmpty, negate } from "lodash";
|
|
4
|
-
// let chalk: any = null
|
|
5
|
-
// if (
|
|
6
|
-
// typeof process !== "undefined" &&
|
|
7
|
-
// (process as any).type !== "renderer" &&
|
|
8
|
-
// (process as any).browser !== true
|
|
9
|
-
// ) {
|
|
10
|
-
// chalk = require("chalk")
|
|
11
|
-
// }
|
|
12
|
-
const useColors = false;
|
|
13
|
-
const makeColorFn = (fn) => {
|
|
14
|
-
// if (!useColors) {
|
|
15
|
-
// return (s: string) => s
|
|
16
|
-
// }
|
|
17
|
-
//
|
|
18
|
-
// return (s: string) => fn(chalk, s)
|
|
19
|
-
return (s) => s;
|
|
20
|
-
};
|
|
21
|
-
const colorFns = {
|
|
22
|
-
debug: makeColorFn((c, s) => c.green(s)),
|
|
23
|
-
error: makeColorFn((c, s) => c.red(s)),
|
|
24
|
-
fatal: makeColorFn((c, s) => c.bgRed.black(s)),
|
|
25
|
-
info: makeColorFn((c, s) => c.blue(s)),
|
|
26
|
-
trace: makeColorFn((c, s) => c.gray(s)),
|
|
27
|
-
warn: makeColorFn((c, s) => c.yellow(s))
|
|
28
|
-
};
|
|
29
|
-
const debuggers = new Map();
|
|
30
|
-
//const debugAppPrefix = "app"
|
|
31
|
-
function getDebug({ categoryPrefix }, cat) {
|
|
32
|
-
let debug = debuggers.get(cat);
|
|
33
|
-
if (!debug) {
|
|
34
|
-
debug = Debug([categoryPrefix, cat].filter(negate(isEmpty)).join(":"));
|
|
35
|
-
debuggers.set(cat, debug);
|
|
36
|
-
}
|
|
37
|
-
return debug;
|
|
38
|
-
}
|
|
39
|
-
// const timeFormatter = new Intl.DateTimeFormat('en-US', {
|
|
40
|
-
// timeStyle: "short"
|
|
41
|
-
// })
|
|
42
|
-
/**
|
|
43
|
-
*
|
|
44
|
-
* Get ISO date if `hideDate !== true`
|
|
45
|
-
*
|
|
46
|
-
* @param {DebugFormatterContext}
|
|
47
|
-
* @returns
|
|
48
|
-
*/
|
|
49
|
-
function getDate({ debugConfig: config }) {
|
|
50
|
-
if (config.hideDate) {
|
|
51
|
-
return "";
|
|
52
|
-
}
|
|
53
|
-
const date = new Date();
|
|
54
|
-
return config.timeOnly
|
|
55
|
-
? date.toLocaleTimeString("default", {
|
|
56
|
-
hour12: false
|
|
57
|
-
})
|
|
58
|
-
: date.toISOString();
|
|
59
|
-
}
|
|
60
|
-
/**
|
|
61
|
-
*
|
|
62
|
-
* Formats args for output, directly based on Debug.formatArgs
|
|
63
|
-
*
|
|
64
|
-
* @param {DebugFormatterContext} context
|
|
65
|
-
* @param {any[]} args
|
|
66
|
-
*/
|
|
67
|
-
function formatArgs(context, record, args) {
|
|
68
|
-
const { debug } = context;
|
|
69
|
-
const { namespace: name } = debug;
|
|
70
|
-
const prefix = colorFns[record.level]([
|
|
71
|
-
getDate(context),
|
|
72
|
-
Debug.humanize(debug.diff),
|
|
73
|
-
`(` + record.level.toUpperCase() + `)`,
|
|
74
|
-
`[${name}]`
|
|
75
|
-
]
|
|
76
|
-
.filter(negate(isEmpty))
|
|
77
|
-
.join(" "));
|
|
78
|
-
const msg = [prefix, args[0]].filter(negate(isEmpty)).join(" ");
|
|
79
|
-
args[0] = msg;
|
|
80
|
-
}
|
|
81
|
-
/**
|
|
82
|
-
* Uses `debug` package for logging, very useful
|
|
83
|
-
*
|
|
84
|
-
* @param {LogRecord} record to format
|
|
85
|
-
* @param {DebugFormatterContext} context for this formatter
|
|
86
|
-
* @returns
|
|
87
|
-
*/
|
|
88
|
-
export const debugFormatter = (record, { debug, debugConfig: config }) => {
|
|
89
|
-
const { level, message, data, args: argsIn, category, timestamp } = record;
|
|
90
|
-
const args = [message, ...argsIn];
|
|
91
|
-
args[0] = Debug.coerce(args[0]);
|
|
92
|
-
if (typeof args[0] !== "string") {
|
|
93
|
-
// Anything else let's inspect with %O
|
|
94
|
-
args.unshift("%O");
|
|
95
|
-
}
|
|
96
|
-
// Apply any `formatters` transformations
|
|
97
|
-
let index = 0;
|
|
98
|
-
args[0] = args[0].replace(/%([a-zA-Z%])/g, (match, format) => {
|
|
99
|
-
// If we encounter an escaped % then don't increase the array index
|
|
100
|
-
if (match === "%%") {
|
|
101
|
-
return "%";
|
|
102
|
-
}
|
|
103
|
-
index++;
|
|
104
|
-
const formatter = Debug.formatters[format];
|
|
105
|
-
if (typeof formatter === "function") {
|
|
106
|
-
const val = args[index];
|
|
107
|
-
match = formatter.call(debug, val);
|
|
108
|
-
// Now we need to remove `args[index]` since it's inlined in the `format`
|
|
109
|
-
args.splice(index, 1);
|
|
110
|
-
index--;
|
|
111
|
-
}
|
|
112
|
-
return match;
|
|
113
|
-
});
|
|
114
|
-
// Apply env-specific formatting (colors, etc.)
|
|
115
|
-
formatArgs({ debug, debugConfig: config }, record, args);
|
|
116
|
-
return args;
|
|
117
|
-
};
|
|
118
|
-
// [
|
|
119
|
-
// `[${category}] (${level}) ${message}`,
|
|
120
|
-
// ...(Array.isArray(args) ? args : [args])
|
|
121
|
-
// ]
|
|
122
|
-
/**
|
|
123
|
-
* Default console config
|
|
124
|
-
* @type {DebugAppenderConfig}
|
|
125
|
-
*/
|
|
126
|
-
const defaultConfig = {
|
|
127
|
-
hideDate: false,
|
|
128
|
-
timeOnly: true,
|
|
129
|
-
useConsole: false,
|
|
130
|
-
useStdout: true,
|
|
131
|
-
categoryPrefix: null,
|
|
132
|
-
...kDefaultConsoleAppenderConfig,
|
|
133
|
-
formatter: debugFormatter
|
|
134
|
-
};
|
|
135
|
-
/**
|
|
136
|
-
* Debug appender, the simple default appender used
|
|
137
|
-
* everywhere OOB
|
|
138
|
-
*/
|
|
139
|
-
export class DebugAppender extends ConsoleAppender {
|
|
140
|
-
debugConfig;
|
|
141
|
-
/**
|
|
142
|
-
* Handle log records, transform, push to ES
|
|
143
|
-
*
|
|
144
|
-
* @param record
|
|
145
|
-
*/
|
|
146
|
-
append(record) {
|
|
147
|
-
const { level, message, args: argsIn, category } = record;
|
|
148
|
-
// if (!this.levels.includes(level)) {
|
|
149
|
-
// super.append(record)
|
|
150
|
-
// return
|
|
151
|
-
// }
|
|
152
|
-
const debug = getDebug(this.debugConfig, category);
|
|
153
|
-
let prevTime = debug.prevTime;
|
|
154
|
-
// Set `diff` timestamp
|
|
155
|
-
const curr = Number(new Date());
|
|
156
|
-
const ms = curr - (prevTime || curr);
|
|
157
|
-
debug.diff = ms;
|
|
158
|
-
debug.prev = prevTime;
|
|
159
|
-
debug.curr = curr;
|
|
160
|
-
debug.prevTime = curr;
|
|
161
|
-
const logFn = debug.log || Debug.log;
|
|
162
|
-
const args = debugFormatter(record, { debug, debugConfig: this.debugConfig });
|
|
163
|
-
if (this.debugConfig.useConsole) {
|
|
164
|
-
super.write(level, ...args);
|
|
165
|
-
}
|
|
166
|
-
if (this.debugConfig.useStdout) {
|
|
167
|
-
logFn.apply(debug, args);
|
|
168
|
-
}
|
|
169
|
-
}
|
|
170
|
-
/**
|
|
171
|
-
*
|
|
172
|
-
* @param {Partial<DebugAppenderOptions>} options
|
|
173
|
-
*/
|
|
174
|
-
constructor(options = {}) {
|
|
175
|
-
super({
|
|
176
|
-
...defaultConfig,
|
|
177
|
-
...options,
|
|
178
|
-
formatter: debugFormatter
|
|
179
|
-
});
|
|
180
|
-
this.debugConfig = this.config;
|
|
181
|
-
}
|
|
182
|
-
}
|
|
183
|
-
//# sourceMappingURL=DebugAppender.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"DebugAppender.js","sourceRoot":"","sources":["../../../src/logging/appenders/DebugAppender.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,EACL,eAAe,EAAyB,6BAA6B,EACtE,MAAM,sBAAsB,CAAA;AAE7B,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AAGxC,wBAAwB;AACxB,OAAO;AACP,sCAAsC;AACtC,4CAA4C;AAC5C,sCAAsC;AACtC,MAAM;AACN,6BAA6B;AAC7B,IAAI;AAEJ,MAAM,SAAS,GAAG,KAAK,CAAA;AAEvB,MAAM,WAAW,GAAG,CAAC,EAAqC,EAAE,EAAE;IAC5D,oBAAoB;IACpB,4BAA4B;IAC5B,IAAI;IACJ,EAAE;IACF,qCAAqC;IACrC,OAAO,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,CAAA;AACzB,CAAC,CAAA;AAED,MAAM,QAAQ,GAA6C;IACzD,KAAK,EAAE,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACxC,KAAK,EAAE,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IACtC,KAAK,EAAE,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAC9C,IAAI,EAAE,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACtC,KAAK,EAAE,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACvC,IAAI,EAAE,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;CACzC,CAAA;AAkBD,MAAM,SAAS,GAAG,IAAI,GAAG,EAA0B,CAAA;AAEnD,8BAA8B;AAE9B,SAAS,QAAQ,CAAC,EAAC,cAAc,EAAsB,EAAE,GAAW;IAClE,IAAI,KAAK,GAAG,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;IAC9B,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,KAAK,GAAG,KAAK,CAAC,CAAC,cAAc,EAAE,GAAG,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAA;QACtE,SAAS,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAA;IAC3B,CAAC;IAED,OAAO,KAAK,CAAA;AACd,CAAC;AAED,2DAA2D;AAC3D,uBAAuB;AACvB,KAAK;AAEL;;;;;;GAMG;AACH,SAAS,OAAO,CAAC,EAAE,WAAW,EAAE,MAAM,EAAyB;IAC7D,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;QACpB,OAAO,EAAE,CAAA;IACX,CAAC;IAED,MAAM,IAAI,GAAG,IAAI,IAAI,EAAE,CAAA;IACvB,OAAO,MAAM,CAAC,QAAQ;QACpB,CAAC,CAAC,IAAI,CAAC,kBAAkB,CAAC,SAAS,EAAE;YACjC,MAAM,EAAE,KAAK;SACd,CAAC;QACJ,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,CAAA;AACxB,CAAC;AAED;;;;;;GAMG;AACH,SAAS,UAAU,CACjB,OAA8B,EAC9B,MAAiB,EACjB,IAAW;IAEX,MAAM,EAAE,KAAK,EAAE,GAAG,OAAO,CAAA;IACzB,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,GAAG,KAAY,CAAA;IAExC,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,CACnC;QACE,OAAO,CAAC,OAAO,CAAC;QAChB,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC;QAC1B,GAAG,GAAG,MAAM,CAAC,KAAK,CAAC,WAAW,EAAE,GAAG,GAAG;QACtC,IAAI,IAAI,GAAG;KACZ;SACE,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;SACvB,IAAI,CAAC,GAAG,CAAC,CACb,CAAA;IACD,MAAM,GAAG,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;IAE/D,IAAI,CAAC,CAAC,CAAC,GAAG,GAAG,CAAA;AACf,CAAC;AAUD;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,cAAc,GAAiD,CAC1E,MAAM,EACN,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,EAAE,EACvB,EAAE;IACT,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,GAAG,MAAM,CAAA;IAC1E,MAAM,IAAI,GAAG,CAAC,OAAO,EAAE,GAAG,MAAM,CAAC,CAAA;IACjC,IAAI,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAA;IAE/B,IAAI,OAAO,IAAI,CAAC,CAAC,CAAC,KAAK,QAAQ,EAAE,CAAC;QAChC,sCAAsC;QACtC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;IACpB,CAAC;IAED,yCAAyC;IACzC,IAAI,KAAK,GAAG,CAAC,CAAA;IACb,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,eAAe,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE;QAC3D,mEAAmE;QACnE,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;YACnB,OAAO,GAAG,CAAA;QACZ,CAAC;QACD,KAAK,EAAE,CAAA;QACP,MAAM,SAAS,GAAG,KAAK,CAAC,UAAU,CAAC,MAAM,CAAC,CAAA;QAC1C,IAAI,OAAO,SAAS,KAAK,UAAU,EAAE,CAAC;YACpC,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,CAAA;YACvB,KAAK,GAAG,SAAS,CAAC,IAAI,CAAC,KAAK,EAAE,GAAG,CAAC,CAAA;YAElC,yEAAyE;YACzE,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAA;YACrB,KAAK,EAAE,CAAA;QACT,CAAC;QACD,OAAO,KAAK,CAAA;IACd,CAAC,CAAC,CAAA;IAEF,+CAA+C;IAC/C,UAAU,CAAC,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,CAAA;IAExD,OAAO,IAAI,CAAA;AACb,CAAC,CAAA;AACD,IAAI;AACJ,6CAA6C;AAC7C,6CAA6C;AAC7C,IAAI;AAEJ;;;GAGG;AACH,MAAM,aAAa,GAAwB;IACzC,QAAQ,EAAE,KAAK;IACf,QAAQ,EAAE,IAAI;IACd,UAAU,EAAE,KAAK;IACjB,SAAS,EAAE,IAAI;IACf,cAAc,EAAE,IAAI;IACpB,GAAG,6BAA6B;IAChC,SAAS,EAAE,cAAc;CAC1B,CAAA;AACD;;;GAGG;AACH,MAAM,OAAO,aACX,SAAQ,eAAuB;IAGtB,WAAW,CAAqB;IAGzC;;;;OAIG;IACH,MAAM,CAAC,MAAc;QACnB,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,MAAM,CAAA;QAEzD,sCAAsC;QACtC,yBAAyB;QACzB,WAAW;QACX,IAAI;QAEJ,MAAM,KAAK,GAAG,QAAQ,CAAC,IAAI,CAAC,WAAW,EAAE,QAAQ,CAAQ,CAAA;QACzD,IAAI,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAA;QAC7B,uBAAuB;QACvB,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC,CAAA;QAC/B,MAAM,EAAE,GAAG,IAAI,GAAG,CAAC,QAAQ,IAAI,IAAI,CAAC,CAAA;QACpC,KAAK,CAAC,IAAI,GAAG,EAAE,CAAA;QACf,KAAK,CAAC,IAAI,GAAG,QAAQ,CAAA;QACrB,KAAK,CAAC,IAAI,GAAG,IAAI,CAAA;QACjB,KAAK,CAAC,QAAQ,GAAG,IAAI,CAAA;QACrB,MAAM,KAAK,GAAG,KAAK,CAAC,GAAG,IAAI,KAAK,CAAC,GAAG,CAAA;QACpC,MAAM,IAAI,GAAG,cAAe,CAAC,MAAM,EAAE,EAAE,KAAK,EAAE,WAAW,EAAE,IAAI,CAAC,WAAW,EAAE,CAAC,CAAA;QAE9E,IAAI,IAAI,CAAC,WAAW,CAAC,UAAU,EAAE,CAAC;YAChC,KAAK,CAAC,KAAK,CAAC,KAAK,EAAE,GAAG,IAAI,CAAC,CAAA;QAC7B,CAAC;QAED,IAAI,IAAI,CAAC,WAAW,CAAC,SAAS,EAAE,CAAC;YAC/B,KAAK,CAAC,KAAK,CAAC,KAAK,EAAE,IAAI,CAAC,CAAA;QAC1B,CAAC;IACH,CAAC;IAED;;;OAGG;IACH,YAAY,UAA4D,EAAE;QACxE,KAAK,CAAC;YACJ,GAAG,aAAa;YAChB,GAAG,OAAO;YACV,SAAS,EAAE,cAAc;SAC1B,CAAC,CAAA;QAEF,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,MAA6B,CAAA;IACvD,CAAC;CACF"}
|