@interopio/log4js-otel 0.0.4 → 0.0.7
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/index.d.ts +10 -1
- package/dist/index.js +64 -14
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
- package/src/index.ts +6 -1
package/dist/index.d.ts
CHANGED
|
@@ -1,2 +1,11 @@
|
|
|
1
1
|
import { LoggingEvent } from "./types";
|
|
2
|
-
|
|
2
|
+
import { Layout, LayoutsParam } from "log4js";
|
|
3
|
+
interface Log4JSToOTELAppenderConfig {
|
|
4
|
+
layout?: Layout;
|
|
5
|
+
maxRecordsBeforeOTELActive?: number;
|
|
6
|
+
maxTimeBeforeOTELActiveMs?: number;
|
|
7
|
+
breakInDebugger?: boolean;
|
|
8
|
+
logErrorsInConsole?: boolean;
|
|
9
|
+
}
|
|
10
|
+
export declare function configure(config: Log4JSToOTELAppenderConfig, layouts: LayoutsParam): (loggingEvent: LoggingEvent) => void;
|
|
11
|
+
export {};
|
package/dist/index.js
CHANGED
|
@@ -4,25 +4,75 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
4
4
|
exports.configure = configure;
|
|
5
5
|
const otel_1 = require("@interopio/otel");
|
|
6
6
|
function configure(config, layouts) {
|
|
7
|
-
let layout = layouts.
|
|
7
|
+
let layout = layouts.messagePassThroughLayout;
|
|
8
8
|
if (config.layout) {
|
|
9
9
|
layout = layouts.layout(config.layout.type, config.layout);
|
|
10
10
|
}
|
|
11
|
+
if (config.breakInDebugger) {
|
|
12
|
+
debugger;
|
|
13
|
+
}
|
|
14
|
+
const maxRecordsBeforeOTELActive = config.maxRecordsBeforeOTELActive || 10000;
|
|
15
|
+
const maxTimeBeforeOTELActiveMs = config.maxTimeBeforeOTELActiveMs || -1;
|
|
16
|
+
const recordsBeforeOTELActive = [];
|
|
17
|
+
const startTime = new Date().getTime();
|
|
11
18
|
return (loggingEvent) => {
|
|
12
|
-
var _a, _b, _c, _d, _e, _f, _g, _h, _j;
|
|
13
|
-
|
|
14
|
-
|
|
19
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x, _y;
|
|
20
|
+
try {
|
|
21
|
+
const attributes = Object.assign(Object.assign({ level: (_a = loggingEvent.level) === null || _a === void 0 ? void 0 : _a.levelStr, startTime: loggingEvent.startTime.getTime(), categoryName: loggingEvent.categoryName, callStack: loggingEvent.callStack, columnNumber: loggingEvent.columnNumber, error: (_b = loggingEvent.error) === null || _b === void 0 ? void 0 : _b.message, errorStack: (_c = loggingEvent.error) === null || _c === void 0 ? void 0 : _c.stack, errorName: (_d = loggingEvent.error) === null || _d === void 0 ? void 0 : _d.name, lineNumber: loggingEvent.lineNumber, pid: loggingEvent.pid, fileName: loggingEvent.fileName, functionName: loggingEvent.functionName, clusterWorkerId: (_e = loggingEvent.cluster) === null || _e === void 0 ? void 0 : _e.workerId, clusterWorker: (_f = loggingEvent.cluster) === null || _f === void 0 ? void 0 : _f.worker }, (_g = otel_1.Container.instance) === null || _g === void 0 ? void 0 : _g.settings.additionalAttributes), (_h = otel_1.Logs.instance) === null || _h === void 0 ? void 0 : _h.settings.additionalAttributes);
|
|
22
|
+
loggingEvent.context = Object.assign(Object.assign({}, (_j = otel_1.Logs.instance) === null || _j === void 0 ? void 0 : _j.settings.additionalAttributes), loggingEvent.context);
|
|
23
|
+
loggingEvent.context["loggerName"] = (_k = loggingEvent.context["loggerName"]) !== null && _k !== void 0 ? _k : "default";
|
|
24
|
+
loggingEvent.context["serviceId"] = (_l = loggingEvent.context["serviceId"]) !== null && _l !== void 0 ? _l : (_o = (_m = otel_1.Container.instance) === null || _m === void 0 ? void 0 : _m.settings) === null || _o === void 0 ? void 0 : _o.serviceId;
|
|
25
|
+
loggingEvent.context["instanceId"] = (_p = loggingEvent.context["instanceId"]) !== null && _p !== void 0 ? _p : (loggingEvent.pid + "");
|
|
26
|
+
loggingEvent.context["applicationName"] = (_t = (_q = loggingEvent.context["applicationName"]) !== null && _q !== void 0 ? _q : (_s = (_r = otel_1.Container.instance) === null || _r === void 0 ? void 0 : _r.settings) === null || _s === void 0 ? void 0 : _s.serviceName) !== null && _t !== void 0 ? _t : "unknown-app";
|
|
27
|
+
const record = {
|
|
28
|
+
body: layout(loggingEvent),
|
|
29
|
+
severityText: mapLogJsLevelString(loggingEvent.level.levelStr),
|
|
30
|
+
severityNumber: mapLogJsLevelNumber(loggingEvent.level.level),
|
|
31
|
+
observedTimestamp: loggingEvent.startTime,
|
|
32
|
+
timestamp: loggingEvent.startTime,
|
|
33
|
+
// this is the captured OTEL context
|
|
34
|
+
context: (_u = otel_1.Traces.currentTracingState) === null || _u === void 0 ? void 0 : _u.context,
|
|
35
|
+
attributes
|
|
36
|
+
};
|
|
37
|
+
if (!((_v = otel_1.Logs.instance) === null || _v === void 0 ? void 0 : _v.started)) {
|
|
38
|
+
if (maxRecordsBeforeOTELActive !== -1 &&
|
|
39
|
+
recordsBeforeOTELActive.length >= maxRecordsBeforeOTELActive) {
|
|
40
|
+
recordsBeforeOTELActive.length = 0;
|
|
41
|
+
return;
|
|
42
|
+
}
|
|
43
|
+
if (maxTimeBeforeOTELActiveMs !== -1 &&
|
|
44
|
+
(new Date().getTime() - startTime) > maxTimeBeforeOTELActiveMs) {
|
|
45
|
+
recordsBeforeOTELActive.length = 0;
|
|
46
|
+
return;
|
|
47
|
+
}
|
|
48
|
+
recordsBeforeOTELActive.push(record);
|
|
49
|
+
return;
|
|
50
|
+
}
|
|
51
|
+
for (const recordBeforeOTELActive of recordsBeforeOTELActive) {
|
|
52
|
+
try {
|
|
53
|
+
otel_1.Logs.emit(recordBeforeOTELActive);
|
|
54
|
+
}
|
|
55
|
+
catch (err) {
|
|
56
|
+
if ((_w = config.logErrorsInConsole) !== null && _w !== void 0 ? _w : true) {
|
|
57
|
+
console.error(err);
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
recordsBeforeOTELActive.length = 0;
|
|
62
|
+
try {
|
|
63
|
+
otel_1.Logs.emit(record);
|
|
64
|
+
}
|
|
65
|
+
catch (err) {
|
|
66
|
+
if ((_x = config.logErrorsInConsole) !== null && _x !== void 0 ? _x : true) {
|
|
67
|
+
console.error(err);
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
catch (err) {
|
|
72
|
+
if ((_y = config.logErrorsInConsole) !== null && _y !== void 0 ? _y : true) {
|
|
73
|
+
console.error(err);
|
|
74
|
+
}
|
|
15
75
|
}
|
|
16
|
-
const attributes = Object.assign(Object.assign({ level: (_a = loggingEvent.level) === null || _a === void 0 ? void 0 : _a.levelStr, startTime: loggingEvent.startTime.getTime(), categoryName: loggingEvent.categoryName, callStack: loggingEvent.callStack, columnNumber: loggingEvent.columnNumber, error: (_b = loggingEvent.error) === null || _b === void 0 ? void 0 : _b.message, errorStack: (_c = loggingEvent.error) === null || _c === void 0 ? void 0 : _c.stack, errorName: (_d = loggingEvent.error) === null || _d === void 0 ? void 0 : _d.name, lineNumber: loggingEvent.lineNumber, pid: loggingEvent.pid, fileName: loggingEvent.fileName, functionName: loggingEvent.functionName, clusterWorkerId: (_e = loggingEvent.cluster) === null || _e === void 0 ? void 0 : _e.workerId, clusterWorker: (_f = loggingEvent.cluster) === null || _f === void 0 ? void 0 : _f.worker }, (_g = otel_1.Container.instance) === null || _g === void 0 ? void 0 : _g.settings.additionalAttributes), (_h = otel_1.Logs.instance) === null || _h === void 0 ? void 0 : _h.settings.additionalAttributes);
|
|
17
|
-
otel_1.Logs.emit({
|
|
18
|
-
body: layout(loggingEvent, config.timezoneOffset),
|
|
19
|
-
severityText: mapLogJsLevelString(loggingEvent.level.levelStr),
|
|
20
|
-
severityNumber: mapLogJsLevelNumber(loggingEvent.level.level),
|
|
21
|
-
observedTimestamp: loggingEvent.startTime,
|
|
22
|
-
timestamp: loggingEvent.startTime,
|
|
23
|
-
context: (_j = otel_1.Traces.currentTracingState) === null || _j === void 0 ? void 0 : _j.context,
|
|
24
|
-
attributes
|
|
25
|
-
});
|
|
26
76
|
};
|
|
27
77
|
}
|
|
28
78
|
function mapLogJsLevelString(levelStr) {
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAAA,mEAAmE;;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
package/src/index.ts
CHANGED
|
@@ -11,7 +11,6 @@ interface Log4JSToOTELAppenderConfig
|
|
|
11
11
|
maxTimeBeforeOTELActiveMs?: number;
|
|
12
12
|
breakInDebugger?: boolean;
|
|
13
13
|
logErrorsInConsole?: boolean;
|
|
14
|
-
rawLayout?: boolean;
|
|
15
14
|
}
|
|
16
15
|
|
|
17
16
|
export function configure(config: Log4JSToOTELAppenderConfig, layouts: LayoutsParam) {
|
|
@@ -48,12 +47,18 @@ export function configure(config: Log4JSToOTELAppenderConfig, layouts: LayoutsPa
|
|
|
48
47
|
...Logs.instance?.settings.additionalAttributes,
|
|
49
48
|
// data: loggingEvent.data?.length ? flattenOtelAtributes({ data: loggingEvent.data }, Logs.instance.settings.maxAttributeDepth ?? 5) : undefined
|
|
50
49
|
};
|
|
50
|
+
loggingEvent.context = { ...Logs.instance?.settings.additionalAttributes, ...loggingEvent.context };
|
|
51
|
+
loggingEvent.context["loggerName"] = loggingEvent.context["loggerName"] ?? "default";
|
|
52
|
+
loggingEvent.context["serviceId"] = loggingEvent.context["serviceId"] ?? Container.instance?.settings?.serviceId;
|
|
53
|
+
loggingEvent.context["instanceId"] = loggingEvent.context["instanceId"] ?? (loggingEvent.pid + "");
|
|
54
|
+
loggingEvent.context["applicationName"] = loggingEvent.context["applicationName"] ?? Container.instance?.settings?.serviceName ?? "unknown-app";
|
|
51
55
|
const record = {
|
|
52
56
|
body: layout(loggingEvent),
|
|
53
57
|
severityText: mapLogJsLevelString(loggingEvent.level.levelStr),
|
|
54
58
|
severityNumber: mapLogJsLevelNumber(loggingEvent.level.level),
|
|
55
59
|
observedTimestamp: loggingEvent.startTime,
|
|
56
60
|
timestamp: loggingEvent.startTime,
|
|
61
|
+
// this is the captured OTEL context
|
|
57
62
|
context: Traces.currentTracingState?.context,
|
|
58
63
|
attributes
|
|
59
64
|
};
|