@logdash/node 1.0.0 → 1.0.1
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/CHANGELOG.md +6 -0
- package/README.md +2 -3
- package/dist/Logdash.d.ts +2 -2
- package/dist/Logdash.d.ts.map +1 -1
- package/dist/Logdash.js +36 -23
- package/dist/Logdash.js.map +1 -1
- package/dist/logger/internalLogger.d.ts.map +1 -1
- package/dist/logger/internalLogger.js +17 -13
- package/dist/logger/internalLogger.js.map +1 -1
- package/dist/types/LogLevel.d.ts +1 -0
- package/dist/types/LogLevel.d.ts.map +1 -1
- package/dist/types/LogLevel.js +9 -0
- package/dist/types/LogLevel.js.map +1 -1
- package/docs/image.png +0 -0
- package/package.json +1 -1
- package/test.ts +11 -2
- package/docs/delta.png +0 -0
- package/docs/logs.png +0 -0
package/CHANGELOG.md
CHANGED
package/README.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# @logdash/node
|
|
2
2
|
|
|
3
|
-
Logdash is a zero-config observability platform. This package serves a
|
|
3
|
+
Logdash is a zero-config observability platform. This package serves a NodeJS/Bun/Deno interface to use it.
|
|
4
4
|
|
|
5
5
|
## Pre-requisites
|
|
6
6
|
|
|
@@ -57,8 +57,7 @@ await logdash.flush();
|
|
|
57
57
|
|
|
58
58
|
To see the logs or metrics, go to your project dashboard
|
|
59
59
|
|
|
60
|
-

|
|
60
|
+

|
|
62
61
|
|
|
63
62
|
## Configuration
|
|
64
63
|
|
package/dist/Logdash.d.ts
CHANGED
|
@@ -5,8 +5,8 @@ export interface LogdashOptions {
|
|
|
5
5
|
verbose?: boolean;
|
|
6
6
|
}
|
|
7
7
|
interface LogdashCore {
|
|
8
|
-
logQueue: RequestQueue<LogPayload
|
|
9
|
-
metricQueue: RequestQueue<MetricPayload
|
|
8
|
+
logQueue: RequestQueue<LogPayload> | null;
|
|
9
|
+
metricQueue: RequestQueue<MetricPayload> | null;
|
|
10
10
|
sequenceNumber: number;
|
|
11
11
|
verbose: boolean;
|
|
12
12
|
}
|
package/dist/Logdash.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Logdash.d.ts","sourceRoot":"","sources":["../src/Logdash.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AACvD,OAAO,EAEN,UAAU,EACV,aAAa,EACb,MAAM,8BAA8B,CAAC;AAGtC,MAAM,WAAW,cAAc;IAC9B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,OAAO,CAAC;CAClB;
|
|
1
|
+
{"version":3,"file":"Logdash.d.ts","sourceRoot":"","sources":["../src/Logdash.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AACvD,OAAO,EAEN,UAAU,EACV,aAAa,EACb,MAAM,8BAA8B,CAAC;AAGtC,MAAM,WAAW,cAAc;IAC9B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,OAAO,CAAC;CAClB;AAED,UAAU,WAAW;IACpB,QAAQ,EAAE,YAAY,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC;IAC1C,WAAW,EAAE,YAAY,CAAC,aAAa,CAAC,GAAG,IAAI,CAAC;IAChD,cAAc,EAAE,MAAM,CAAC;IACvB,OAAO,EAAE,OAAO,CAAC;CACjB;AAED,qBAAa,OAAO;IACnB,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAc;IACnC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAS;gBAExB,MAAM,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,cAAc;gBACzC,IAAI,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM;IA4ChD,OAAO,CAAC,aAAa;IAWrB,KAAK,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI;IAI/B,IAAI,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI;IAI9B,IAAI,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI;IAI9B,IAAI,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI;IAI9B,OAAO,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI;IAIjC,KAAK,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI;IAI/B,KAAK,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI;IAM/B,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI;IAiB5C,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI;IAmB/C,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAM9B,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAW5B,OAAO,IAAI,IAAI;IAOf,OAAO,CAAC,GAAG;IAiBX,OAAO,CAAC,cAAc;IAiBtB,OAAO,CAAC,UAAU;CAclB"}
|
package/dist/Logdash.js
CHANGED
|
@@ -2,16 +2,7 @@ import chalk from 'chalk';
|
|
|
2
2
|
import { internalLogger } from './logger/internalLogger.js';
|
|
3
3
|
import { RequestQueue } from './queue/RequestQueue.js';
|
|
4
4
|
import { HttpTransport, } from './transport/HttpTransport.js';
|
|
5
|
-
import { LogLevel } from './types/LogLevel.js';
|
|
6
|
-
const LOG_LEVEL_COLORS = {
|
|
7
|
-
[LogLevel.ERROR]: [231, 0, 11],
|
|
8
|
-
[LogLevel.WARN]: [254, 154, 0],
|
|
9
|
-
[LogLevel.INFO]: [21, 93, 252],
|
|
10
|
-
[LogLevel.HTTP]: [0, 166, 166],
|
|
11
|
-
[LogLevel.VERBOSE]: [0, 166, 0],
|
|
12
|
-
[LogLevel.DEBUG]: [0, 166, 62],
|
|
13
|
-
[LogLevel.SILLY]: [80, 80, 80],
|
|
14
|
-
};
|
|
5
|
+
import { LogLevel, LOG_LEVEL_COLORS } from './types/LogLevel.js';
|
|
15
6
|
export class Logdash {
|
|
16
7
|
constructor(apiKeyOrCore, optionsOrNamespace) {
|
|
17
8
|
if (this.isLogdashCore(apiKeyOrCore)) {
|
|
@@ -21,17 +12,30 @@ export class Logdash {
|
|
|
21
12
|
}
|
|
22
13
|
else {
|
|
23
14
|
// Public constructor: new Logdash(apiKey?, options?)
|
|
24
|
-
const apiKey = apiKeyOrCore
|
|
15
|
+
const apiKey = apiKeyOrCore;
|
|
25
16
|
const options = optionsOrNamespace;
|
|
26
|
-
const host = options?.host ?? 'https://api.logdash.io';
|
|
27
17
|
const verbose = options?.verbose ?? false;
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
18
|
+
if (apiKey) {
|
|
19
|
+
// Remote mode: create transport and queues
|
|
20
|
+
const host = options?.host ?? 'https://api.logdash.io';
|
|
21
|
+
const transport = new HttpTransport({ host, apiKey });
|
|
22
|
+
this.core = {
|
|
23
|
+
logQueue: new RequestQueue((logs) => transport.sendLogs(logs)),
|
|
24
|
+
metricQueue: new RequestQueue((metrics) => transport.sendMetrics(metrics)),
|
|
25
|
+
sequenceNumber: 0,
|
|
26
|
+
verbose,
|
|
27
|
+
};
|
|
28
|
+
}
|
|
29
|
+
else {
|
|
30
|
+
internalLogger.warn('No API key provided, using local mode.');
|
|
31
|
+
// Local mode: console-only, no transport or queues
|
|
32
|
+
this.core = {
|
|
33
|
+
logQueue: null,
|
|
34
|
+
metricQueue: null,
|
|
35
|
+
sequenceNumber: 0,
|
|
36
|
+
verbose,
|
|
37
|
+
};
|
|
38
|
+
}
|
|
35
39
|
this.namespace = undefined;
|
|
36
40
|
}
|
|
37
41
|
}
|
|
@@ -65,6 +69,9 @@ export class Logdash {
|
|
|
65
69
|
}
|
|
66
70
|
// === Metric Methods ===
|
|
67
71
|
setMetric(name, value) {
|
|
72
|
+
if (!this.core.metricQueue) {
|
|
73
|
+
return; // Local mode: metrics are not supported
|
|
74
|
+
}
|
|
68
75
|
if (this.core.verbose) {
|
|
69
76
|
internalLogger.verbose(`Setting metric ${name} to ${value}`);
|
|
70
77
|
}
|
|
@@ -76,6 +83,9 @@ export class Logdash {
|
|
|
76
83
|
});
|
|
77
84
|
}
|
|
78
85
|
mutateMetric(name, delta) {
|
|
86
|
+
if (!this.core.metricQueue) {
|
|
87
|
+
return; // Local mode: metrics are not supported
|
|
88
|
+
}
|
|
79
89
|
if (this.core.verbose) {
|
|
80
90
|
internalLogger.verbose(`Mutating metric ${name} by ${delta}`);
|
|
81
91
|
}
|
|
@@ -92,14 +102,17 @@ export class Logdash {
|
|
|
92
102
|
}
|
|
93
103
|
// === Lifecycle ===
|
|
94
104
|
async flush() {
|
|
105
|
+
if (!this.core.logQueue || !this.core.metricQueue) {
|
|
106
|
+
return; // Local mode: nothing to flush
|
|
107
|
+
}
|
|
95
108
|
await Promise.all([
|
|
96
109
|
this.core.logQueue.flush(),
|
|
97
110
|
this.core.metricQueue.flush(),
|
|
98
111
|
]);
|
|
99
112
|
}
|
|
100
113
|
destroy() {
|
|
101
|
-
this.core.logQueue
|
|
102
|
-
this.core.metricQueue
|
|
114
|
+
this.core.logQueue?.destroy();
|
|
115
|
+
this.core.metricQueue?.destroy();
|
|
103
116
|
}
|
|
104
117
|
// === Private Methods ===
|
|
105
118
|
log(level, data) {
|
|
@@ -107,8 +120,8 @@ export class Logdash {
|
|
|
107
120
|
const now = new Date();
|
|
108
121
|
// Print to console with colors
|
|
109
122
|
this.printToConsole(level, message, now);
|
|
110
|
-
// Queue for sending
|
|
111
|
-
this.core.logQueue
|
|
123
|
+
// Queue for sending (only in remote mode)
|
|
124
|
+
this.core.logQueue?.add({
|
|
112
125
|
message,
|
|
113
126
|
level,
|
|
114
127
|
createdAt: now.toISOString(),
|
package/dist/Logdash.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Logdash.js","sourceRoot":"","sources":["../src/Logdash.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAC5D,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AACvD,OAAO,EACN,aAAa,GAGb,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAAE,QAAQ,EAAE,
|
|
1
|
+
{"version":3,"file":"Logdash.js","sourceRoot":"","sources":["../src/Logdash.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"internalLogger.d.ts","sourceRoot":"","sources":["../../src/logger/internalLogger.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"internalLogger.d.ts","sourceRoot":"","sources":["../../src/logger/internalLogger.ts"],"names":[],"mappings":"AAyBA,eAAO,MAAM,cAAc;qBACT,OAAO,EAAE;oBACV,OAAO,EAAE;oBACT,OAAO,EAAE;uBACN,OAAO,EAAE;CAC5B,CAAC"}
|
|
@@ -1,17 +1,21 @@
|
|
|
1
1
|
import chalk from 'chalk';
|
|
2
|
-
|
|
2
|
+
import { LogLevel, LOG_LEVEL_COLORS } from '../types/LogLevel.js';
|
|
3
|
+
const NAMESPACE = 'Logdash';
|
|
4
|
+
function formatMessage(level, args) {
|
|
5
|
+
const color = LOG_LEVEL_COLORS[level];
|
|
6
|
+
const levelPrefix = chalk.rgb(color[0], color[1], color[2])(`${level.toUpperCase()} `);
|
|
7
|
+
const namespacePrefix = chalk.rgb(230, 0, 118)(`${NAMESPACE} `);
|
|
8
|
+
const message = args
|
|
9
|
+
.map((item) => typeof item === 'object' && item !== null
|
|
10
|
+
? JSON.stringify(item)
|
|
11
|
+
: String(item))
|
|
12
|
+
.join(' ');
|
|
13
|
+
console.log(`${namespacePrefix}${levelPrefix}${message}\n`);
|
|
14
|
+
}
|
|
3
15
|
export const internalLogger = {
|
|
4
|
-
error: (...args) =>
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
console.log(PREFIX, chalk.yellow('WARN'), ...args);
|
|
9
|
-
},
|
|
10
|
-
info: (...args) => {
|
|
11
|
-
console.log(PREFIX, ...args);
|
|
12
|
-
},
|
|
13
|
-
verbose: (...args) => {
|
|
14
|
-
console.log(PREFIX, chalk.gray(...args));
|
|
15
|
-
},
|
|
16
|
+
error: (...args) => formatMessage(LogLevel.ERROR, args),
|
|
17
|
+
warn: (...args) => formatMessage(LogLevel.WARN, args),
|
|
18
|
+
info: (...args) => formatMessage(LogLevel.INFO, args),
|
|
19
|
+
verbose: (...args) => formatMessage(LogLevel.VERBOSE, args),
|
|
16
20
|
};
|
|
17
21
|
//# sourceMappingURL=internalLogger.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"internalLogger.js","sourceRoot":"","sources":["../../src/logger/internalLogger.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"internalLogger.js","sourceRoot":"","sources":["../../src/logger/internalLogger.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,QAAQ,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAElE,MAAM,SAAS,GAAG,SAAS,CAAC;AAE5B,SAAS,aAAa,CAAC,KAAe,EAAE,IAAe;IACtD,MAAM,KAAK,GAAG,gBAAgB,CAAC,KAAK,CAAC,CAAC;IAEtC,MAAM,WAAW,GAAG,KAAK,CAAC,GAAG,CAC5B,KAAK,CAAC,CAAC,CAAC,EACR,KAAK,CAAC,CAAC,CAAC,EACR,KAAK,CAAC,CAAC,CAAC,CACR,CAAC,GAAG,KAAK,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC;IAC7B,MAAM,eAAe,GAAG,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC,GAAG,SAAS,GAAG,CAAC,CAAC;IAChE,MAAM,OAAO,GAAG,IAAI;SAClB,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CACb,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAK,IAAI;QACxC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;QACtB,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CACf;SACA,IAAI,CAAC,GAAG,CAAC,CAAC;IAEZ,OAAO,CAAC,GAAG,CAAC,GAAG,eAAe,GAAG,WAAW,GAAG,OAAO,IAAI,CAAC,CAAC;AAC7D,CAAC;AAED,MAAM,CAAC,MAAM,cAAc,GAAG;IAC7B,KAAK,EAAE,CAAC,GAAG,IAAe,EAAE,EAAE,CAAC,aAAa,CAAC,QAAQ,CAAC,KAAK,EAAE,IAAI,CAAC;IAClE,IAAI,EAAE,CAAC,GAAG,IAAe,EAAE,EAAE,CAAC,aAAa,CAAC,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC;IAChE,IAAI,EAAE,CAAC,GAAG,IAAe,EAAE,EAAE,CAAC,aAAa,CAAC,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC;IAChE,OAAO,EAAE,CAAC,GAAG,IAAe,EAAE,EAAE,CAAC,aAAa,CAAC,QAAQ,CAAC,OAAO,EAAE,IAAI,CAAC;CACtE,CAAC"}
|
package/dist/types/LogLevel.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LogLevel.d.ts","sourceRoot":"","sources":["../../src/types/LogLevel.ts"],"names":[],"mappings":"AAAA,oBAAY,QAAQ;IACnB,KAAK,UAAU;IACf,IAAI,YAAY;IAChB,IAAI,SAAS;IACb,IAAI,SAAS;IACb,OAAO,YAAY;IACnB,KAAK,UAAU;IACf,KAAK,UAAU;CACf"}
|
|
1
|
+
{"version":3,"file":"LogLevel.d.ts","sourceRoot":"","sources":["../../src/types/LogLevel.ts"],"names":[],"mappings":"AAAA,oBAAY,QAAQ;IACnB,KAAK,UAAU;IACf,IAAI,YAAY;IAChB,IAAI,SAAS;IACb,IAAI,SAAS;IACb,OAAO,YAAY;IACnB,KAAK,UAAU;IACf,KAAK,UAAU;CACf;AAED,eAAO,MAAM,gBAAgB,EAAE,MAAM,CAAC,QAAQ,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAQvE,CAAC"}
|
package/dist/types/LogLevel.js
CHANGED
|
@@ -8,4 +8,13 @@ export var LogLevel;
|
|
|
8
8
|
LogLevel["DEBUG"] = "debug";
|
|
9
9
|
LogLevel["SILLY"] = "silly";
|
|
10
10
|
})(LogLevel || (LogLevel = {}));
|
|
11
|
+
export const LOG_LEVEL_COLORS = {
|
|
12
|
+
[LogLevel.ERROR]: [231, 0, 11],
|
|
13
|
+
[LogLevel.WARN]: [254, 154, 0],
|
|
14
|
+
[LogLevel.INFO]: [21, 93, 252],
|
|
15
|
+
[LogLevel.HTTP]: [0, 166, 166],
|
|
16
|
+
[LogLevel.VERBOSE]: [0, 166, 0],
|
|
17
|
+
[LogLevel.DEBUG]: [0, 166, 62],
|
|
18
|
+
[LogLevel.SILLY]: [80, 80, 80],
|
|
19
|
+
};
|
|
11
20
|
//# sourceMappingURL=LogLevel.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LogLevel.js","sourceRoot":"","sources":["../../src/types/LogLevel.ts"],"names":[],"mappings":"AAAA,MAAM,CAAN,IAAY,QAQX;AARD,WAAY,QAAQ;IACnB,2BAAe,CAAA;IACf,4BAAgB,CAAA;IAChB,yBAAa,CAAA;IACb,yBAAa,CAAA;IACb,+BAAmB,CAAA;IACnB,2BAAe,CAAA;IACf,2BAAe,CAAA;AAChB,CAAC,EARW,QAAQ,KAAR,QAAQ,QAQnB"}
|
|
1
|
+
{"version":3,"file":"LogLevel.js","sourceRoot":"","sources":["../../src/types/LogLevel.ts"],"names":[],"mappings":"AAAA,MAAM,CAAN,IAAY,QAQX;AARD,WAAY,QAAQ;IACnB,2BAAe,CAAA;IACf,4BAAgB,CAAA;IAChB,yBAAa,CAAA;IACb,yBAAa,CAAA;IACb,+BAAmB,CAAA;IACnB,2BAAe,CAAA;IACf,2BAAe,CAAA;AAChB,CAAC,EARW,QAAQ,KAAR,QAAQ,QAQnB;AAED,MAAM,CAAC,MAAM,gBAAgB,GAA+C;IAC3E,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC;IAC9B,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC;IAC9B,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC;IAC9B,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC;IAC9B,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC;IAC/B,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE,CAAC;IAC9B,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;CAC9B,CAAC"}
|
package/docs/image.png
ADDED
|
Binary file
|
package/package.json
CHANGED
package/test.ts
CHANGED
|
@@ -13,14 +13,22 @@ logdash.debug('This is a debug message');
|
|
|
13
13
|
logdash.silly('This is a silly message');
|
|
14
14
|
|
|
15
15
|
// Usage with API key
|
|
16
|
-
const syncedLogdash = new Logdash('
|
|
16
|
+
const syncedLogdash = new Logdash('API_KEY', {
|
|
17
|
+
host: 'https://dev-api.logdash.io',
|
|
18
|
+
});
|
|
17
19
|
|
|
18
20
|
syncedLogdash.error('This is a SYNCED error message');
|
|
19
21
|
|
|
20
22
|
// Namespaced logging
|
|
21
23
|
const authLogger = syncedLogdash.withNamespace('auth');
|
|
22
24
|
authLogger.info('User logged in');
|
|
23
|
-
authLogger.
|
|
25
|
+
authLogger.mutateMetric('login_count', 1);
|
|
26
|
+
|
|
27
|
+
const paymentsLogger = syncedLogdash.withNamespace('payments');
|
|
28
|
+
paymentsLogger.info('Payment processed');
|
|
29
|
+
paymentsLogger.warn('Payment gate not responding in 5s');
|
|
30
|
+
paymentsLogger.error('Payment failed');
|
|
31
|
+
paymentsLogger.mutateMetric('payment_count', 1);
|
|
24
32
|
|
|
25
33
|
// Metrics
|
|
26
34
|
syncedLogdash.setMetric('active_users', 42);
|
|
@@ -29,4 +37,5 @@ syncedLogdash.mutateMetric('requests', 1);
|
|
|
29
37
|
// Graceful shutdown - wait for all pending items
|
|
30
38
|
syncedLogdash.flush().then(() => {
|
|
31
39
|
console.log('All logs and metrics flushed!');
|
|
40
|
+
process.exit(0);
|
|
32
41
|
});
|
package/docs/delta.png
DELETED
|
Binary file
|
package/docs/logs.png
DELETED
|
Binary file
|