mongodb-log-writer 2.2.0 → 2.3.0
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.
|
@@ -5,6 +5,7 @@ interface MongoLogOptions {
|
|
|
5
5
|
retentionDays: number;
|
|
6
6
|
maxLogFileCount?: number;
|
|
7
7
|
retentionGB?: number;
|
|
8
|
+
prefix?: string;
|
|
8
9
|
onerror: (err: Error, path: string) => unknown | Promise<void>;
|
|
9
10
|
onwarn: (err: Error, path: string) => unknown | Promise<void>;
|
|
10
11
|
}
|
|
@@ -12,6 +13,7 @@ export declare class MongoLogManager {
|
|
|
12
13
|
_options: MongoLogOptions;
|
|
13
14
|
constructor(options: MongoLogOptions);
|
|
14
15
|
private deleteFile;
|
|
16
|
+
private get prefix();
|
|
15
17
|
cleanupOldLogFiles(maxDurationMs?: number): Promise<void>;
|
|
16
18
|
createLogWriter(): Promise<MongoLogWriter>;
|
|
17
19
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mongo-log-manager.d.ts","sourceRoot":"","sources":["../src/mongo-log-manager.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAIpD,UAAU,eAAe;IAEvB,SAAS,EAAE,MAAM,CAAC;IAElB,IAAI,CAAC,EAAE,OAAO,CAAC;IAEf,aAAa,EAAE,MAAM,CAAC;IAEtB,eAAe,CAAC,EAAE,MAAM,CAAC;IAEzB,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB,OAAO,EAAE,CAAC,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,KAAK,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAE/D,MAAM,EAAE,CAAC,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,KAAK,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAC/D;AAOD,qBAAa,eAAe;IAC1B,QAAQ,EAAE,eAAe,CAAC;gBAEd,OAAO,EAAE,eAAe;
|
|
1
|
+
{"version":3,"file":"mongo-log-manager.d.ts","sourceRoot":"","sources":["../src/mongo-log-manager.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAIpD,UAAU,eAAe;IAEvB,SAAS,EAAE,MAAM,CAAC;IAElB,IAAI,CAAC,EAAE,OAAO,CAAC;IAEf,aAAa,EAAE,MAAM,CAAC;IAEtB,eAAe,CAAC,EAAE,MAAM,CAAC;IAEzB,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB,OAAO,EAAE,CAAC,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,KAAK,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAE/D,MAAM,EAAE,CAAC,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,KAAK,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAC/D;AAOD,qBAAa,eAAe;IAC1B,QAAQ,EAAE,eAAe,CAAC;gBAEd,OAAO,EAAE,eAAe;YAWtB,UAAU;IAWxB,OAAO,KAAK,MAAM,GAEjB;IAGK,kBAAkB,CAAC,aAAa,SAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;IA4FxD,eAAe,IAAI,OAAO,CAAC,cAAc,CAAC;CA+CjD"}
|
|
@@ -14,6 +14,11 @@ const mongo_log_writer_1 = require("./mongo-log-writer");
|
|
|
14
14
|
const stream_1 = require("stream");
|
|
15
15
|
class MongoLogManager {
|
|
16
16
|
constructor(options) {
|
|
17
|
+
if (options.prefix) {
|
|
18
|
+
if (!/^[a-z0-9_]+$/i.test(options.prefix)) {
|
|
19
|
+
throw new Error('Prefix must only contain letters, numbers, and underscores');
|
|
20
|
+
}
|
|
21
|
+
}
|
|
17
22
|
this._options = options;
|
|
18
23
|
}
|
|
19
24
|
async deleteFile(path) {
|
|
@@ -26,6 +31,9 @@ class MongoLogManager {
|
|
|
26
31
|
}
|
|
27
32
|
}
|
|
28
33
|
}
|
|
34
|
+
get prefix() {
|
|
35
|
+
return this._options.prefix ?? '';
|
|
36
|
+
}
|
|
29
37
|
async cleanupOldLogFiles(maxDurationMs = 5_000) {
|
|
30
38
|
const dir = this._options.directory;
|
|
31
39
|
let dirHandle;
|
|
@@ -44,7 +52,8 @@ class MongoLogManager {
|
|
|
44
52
|
break;
|
|
45
53
|
if (!dirent.isFile())
|
|
46
54
|
continue;
|
|
47
|
-
const
|
|
55
|
+
const logRegExp = new RegExp(`^${this.prefix}(?<id>[a-f0-9]{24})_log(\\.gz)?$`, 'i');
|
|
56
|
+
const { id } = logRegExp.exec(dirent.name)?.groups ?? {};
|
|
48
57
|
if (!id)
|
|
49
58
|
continue;
|
|
50
59
|
const fileTimestamp = +new bson_1.ObjectId(id).getTimestamp();
|
|
@@ -93,7 +102,7 @@ class MongoLogManager {
|
|
|
93
102
|
async createLogWriter() {
|
|
94
103
|
const logId = new bson_1.ObjectId().toString();
|
|
95
104
|
const doGzip = !!this._options.gzip;
|
|
96
|
-
const logFilePath = path_1.default.join(this._options.directory, `${logId}_log${doGzip ? '.gz' : ''}`);
|
|
105
|
+
const logFilePath = path_1.default.join(this._options.directory, `${this.prefix}${logId}_log${doGzip ? '.gz' : ''}`);
|
|
97
106
|
let originalTarget;
|
|
98
107
|
let stream;
|
|
99
108
|
let logWriter;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mongo-log-manager.js","sourceRoot":"","sources":["../src/mongo-log-manager.ts"],"names":[],"mappings":";;;;;;AAAA,gDAAwB;AACxB,+BAAgC;AAChC,mCAA8B;AAC9B,2BAAuD;AACvD,+BAA8D;AAC9D,qCAA+B;AAC/B,yDAAoD;AACpD,mCAAkC;
|
|
1
|
+
{"version":3,"file":"mongo-log-manager.js","sourceRoot":"","sources":["../src/mongo-log-manager.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "mongodb-log-writer",
|
|
3
3
|
"description": "A library for writing MongoDB logv2 messages",
|
|
4
|
-
"version": "2.
|
|
4
|
+
"version": "2.3.0",
|
|
5
5
|
"author": {
|
|
6
6
|
"name": "MongoDB Inc",
|
|
7
7
|
"email": "compass@mongodb.com"
|
|
@@ -87,5 +87,5 @@
|
|
|
87
87
|
"sinon": "^9.2.3",
|
|
88
88
|
"typescript": "^5.0.4"
|
|
89
89
|
},
|
|
90
|
-
"gitHead": "
|
|
90
|
+
"gitHead": "65bf3a1ba8a7b4b494e2fb84df6953425558f129"
|
|
91
91
|
}
|