@decohere/scribe 0.0.1-dev.68 → 0.0.1-dev.69
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.
|
@@ -24,6 +24,12 @@ class LogAdapter {
|
|
|
24
24
|
flush(cb) {
|
|
25
25
|
cb?.();
|
|
26
26
|
}
|
|
27
|
+
async stop() {
|
|
28
|
+
await this[Symbol.asyncDispose]();
|
|
29
|
+
}
|
|
30
|
+
async [Symbol.asyncDispose]() {
|
|
31
|
+
// Console / no-op adapters have nothing to release.
|
|
32
|
+
}
|
|
27
33
|
// biome-ignore lint/suspicious/noExplicitAny: Generic utility method needs flexible typing
|
|
28
34
|
getLogLevels(options) {
|
|
29
35
|
const { customOnly, customLevels } = options;
|
|
@@ -42,4 +48,4 @@ class LogAdapter {
|
|
|
42
48
|
}
|
|
43
49
|
}
|
|
44
50
|
|
|
45
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL2RlY29oZXJlL2RlY29oZXJlL3Byb2plY3RzL3NjcmliZS9zY3JpYmUvc3JjL2xvZ2dlci5hZGFwdGVyLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgTG9nZ2VyIH0gZnJvbSBcIi4vbG9nZ2VyLnR5cGUuanNcIjtcbmltcG9ydCB7IExvZ0xldmVscywgdHlwZSBTY3JpYmVPcHRpb25zIH0gZnJvbSBcIi4vdHlwZXMuanNcIjtcblxuZXhwb3J0IGZ1bmN0aW9uIGZvcm1hdEVycm9yKGVycjogRXJyb3IpOiBzdHJpbmcge1xuXHRyZXR1cm4gZXJyLnN0YWNrID8/
|
|
51
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL2RlY29oZXJlL2RlY29oZXJlL3Byb2plY3RzL3NjcmliZS9zY3JpYmUvc3JjL2xvZ2dlci5hZGFwdGVyLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgTG9nZ2VyIH0gZnJvbSBcIi4vbG9nZ2VyLnR5cGUuanNcIjtcbmltcG9ydCB7IExvZ0xldmVscywgdHlwZSBTY3JpYmVPcHRpb25zIH0gZnJvbSBcIi4vdHlwZXMuanNcIjtcblxuZXhwb3J0IGZ1bmN0aW9uIGZvcm1hdEVycm9yKGVycjogRXJyb3IpOiBzdHJpbmcge1xuXHRyZXR1cm4gZXJyLnN0YWNrID8/IGVyci5tZXNzYWdlO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIExvZ2dlckFkYXB0ZXIgZXh0ZW5kcyBBc3luY0Rpc3Bvc2FibGUge1xuXHRjb25maWd1cmU8VCBleHRlbmRzIHN0cmluZyA9IG5ldmVyLCBDdXN0b21Pbmx5IGV4dGVuZHMgdHJ1ZSB8IGZhbHNlID0gZmFsc2U+KFxuXHRcdG9wdGlvbnM6IFNjcmliZU9wdGlvbnM8VCwgQ3VzdG9tT25seT4sXG5cdCk7XG5cdGdldExvZ2dlcjxUIGV4dGVuZHMgc3RyaW5nID0gbmV2ZXIsIEN1c3RvbU9ubHkgZXh0ZW5kcyB0cnVlIHwgZmFsc2UgPSBmYWxzZT4oXG5cdFx0bmFtZTogc3RyaW5nLFxuXHQpOiBMb2dnZXI8VCwgQ3VzdG9tT25seT47XG5cdGZsdXNoKGNiPzogKCkgPT4gdm9pZCk6IHZvaWQ7XG5cdC8qKlxuXHQgKiBEcmFpbiBidWZmZXJlZCBvdXRwdXQgYW5kIHJlbGVhc2UgdW5tYW5hZ2VkIGhhbmRsZXMgKHdvcmtlcnMsIGZkcykuXG5cdCAqIElkZW1wb3RlbnQg4oCUIHNhZmUgdG8gY2FsbCBtb3JlIHRoYW4gb25jZS5cblx0ICovXG5cdHN0b3AoKTogUHJvbWlzZTx2b2lkPjtcbn1cblxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIExvZ0FkYXB0ZXIgaW1wbGVtZW50cyBMb2dnZXJBZGFwdGVyIHtcblx0cHVibGljIGFic3RyYWN0IGNvbmZpZ3VyZTxUIGV4dGVuZHMgc3RyaW5nID0gbmV2ZXIsIEN1c3RvbU9ubHkgZXh0ZW5kcyB0cnVlIHwgZmFsc2UgPSBmYWxzZT4oXG5cdFx0b3B0aW9uczogU2NyaWJlT3B0aW9uczxULCBDdXN0b21Pbmx5Pixcblx0KTtcblxuXHRwdWJsaWMgYWJzdHJhY3QgZ2V0TG9nZ2VyPFQgZXh0ZW5kcyBzdHJpbmcgPSBuZXZlciwgQ3VzdG9tT25seSBleHRlbmRzIHRydWUgfCBmYWxzZSA9IGZhbHNlPihcblx0XHRuYW1lOiBzdHJpbmcsXG5cdCk6IExvZ2dlcjxULCBDdXN0b21Pbmx5PjtcblxuXHRwdWJsaWMgZmx1c2goY2I/OiAoKSA9PiB2b2lkKTogdm9pZCB7XG5cdFx0Y2I/LigpO1xuXHR9XG5cblx0cHVibGljIGFzeW5jIHN0b3AoKTogUHJvbWlzZTx2b2lkPiB7XG5cdFx0YXdhaXQgdGhpc1tTeW1ib2wuYXN5bmNEaXNwb3NlXSgpO1xuXHR9XG5cblx0cHVibGljIGFzeW5jIFtTeW1ib2wuYXN5bmNEaXNwb3NlXSgpOiBQcm9taXNlPHZvaWQ+IHtcblx0XHQvLyBDb25zb2xlIC8gbm8tb3AgYWRhcHRlcnMgaGF2ZSBub3RoaW5nIHRvIHJlbGVhc2UuXG5cdH1cblxuXHQvLyBiaW9tZS1pZ25vcmUgbGludC9zdXNwaWNpb3VzL25vRXhwbGljaXRBbnk6IEdlbmVyaWMgdXRpbGl0eSBtZXRob2QgbmVlZHMgZmxleGlibGUgdHlwaW5nXG5cdHByb3RlY3RlZCBnZXRMb2dMZXZlbHMob3B0aW9uczogU2NyaWJlT3B0aW9uczxhbnksIGFueT4pOiBSZWNvcmQ8c3RyaW5nLCBudW1iZXI+IHtcblx0XHRjb25zdCB7IGN1c3RvbU9ubHksIGN1c3RvbUxldmVscyB9ID0gb3B0aW9ucztcblx0XHRpZiAoY3VzdG9tT25seSkge1xuXHRcdFx0cmV0dXJuIGN1c3RvbUxldmVscztcblx0XHR9XG5cdFx0Y29uc3QgbGV2ZWxzID0gdGhpcy5nZXRVbmlxdWVMZXZlbHMoTG9nTGV2ZWxzLCBjdXN0b21MZXZlbHMpO1xuXHRcdHJldHVybiBPYmplY3QuZnJvbUVudHJpZXMobGV2ZWxzKTtcblx0fVxuXG5cdHByb3RlY3RlZCBnZXRVbmlxdWVMZXZlbHMoXG5cdFx0ZGVmYXVsdExldmVsczogUmVjb3JkPHN0cmluZywgbnVtYmVyPixcblx0XHRjdXN0b21MZXZlbHM6IFJlY29yZDxzdHJpbmcsIG51bWJlcj4sXG5cdCkge1xuXHRcdGNvbnN0IGRlZmF1bHRFbnRyaWVzID0gT2JqZWN0LmVudHJpZXMoZGVmYXVsdExldmVscyA/PyB7fSk7XG5cdFx0Y29uc3QgY3VzdG9tRW50cmllcyA9IE9iamVjdC5lbnRyaWVzKGN1c3RvbUxldmVscyA/PyB7fSk7XG5cdFx0Y29uc3QgZGVmYXVsdE5vdEluQ3VzdG9tID0gZGVmYXVsdEVudHJpZXMuZmlsdGVyKFxuXHRcdFx0KFtka10pID0+IGN1c3RvbUVudHJpZXMuZmluZEluZGV4KChbY2tdKSA9PiBjayA9PT0gZGspID09PSAtMSxcblx0XHQpO1xuXG5cdFx0Y29uc3QgdW5pcXVlID0gZGVmYXVsdE5vdEluQ3VzdG9tLmNvbmNhdChjdXN0b21FbnRyaWVzKTtcblx0XHRyZXR1cm4gdW5pcXVlO1xuXHR9XG59XG4iXSwibmFtZXMiOlsiTG9nQWRhcHRlciIsImZvcm1hdEVycm9yIiwiZXJyIiwic3RhY2siLCJtZXNzYWdlIiwiZmx1c2giLCJjYiIsInN0b3AiLCJTeW1ib2wiLCJhc3luY0Rpc3Bvc2UiLCJnZXRMb2dMZXZlbHMiLCJvcHRpb25zIiwiY3VzdG9tT25seSIsImN1c3RvbUxldmVscyIsImxldmVscyIsImdldFVuaXF1ZUxldmVscyIsIkxvZ0xldmVscyIsIk9iamVjdCIsImZyb21FbnRyaWVzIiwiZGVmYXVsdExldmVscyIsImRlZmF1bHRFbnRyaWVzIiwiZW50cmllcyIsImN1c3RvbUVudHJpZXMiLCJkZWZhdWx0Tm90SW5DdXN0b20iLCJmaWx0ZXIiLCJkayIsImZpbmRJbmRleCIsImNrIiwidW5pcXVlIiwiY29uY2F0Il0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7OztRQXNCc0JBO2VBQUFBOztRQW5CTkM7ZUFBQUE7Ozt1QkFGOEI7QUFFdkMsU0FBU0EsWUFBWUMsR0FBVTtJQUNyQyxPQUFPQSxJQUFJQyxLQUFLLElBQUlELElBQUlFLE9BQU87QUFDaEM7QUFpQk8sTUFBZUo7SUFTZEssTUFBTUMsRUFBZSxFQUFRO1FBQ25DQTtJQUNEO0lBRUEsTUFBYUMsT0FBc0I7UUFDbEMsTUFBTSxJQUFJLENBQUNDLE9BQU9DLFlBQVksQ0FBQztJQUNoQztJQUVBLE1BQWEsQ0FBQ0QsT0FBT0MsWUFBWSxDQUFDLEdBQWtCO0lBQ25ELG9EQUFvRDtJQUNyRDtJQUVBLDJGQUEyRjtJQUNqRkMsYUFBYUMsT0FBZ0MsRUFBMEI7UUFDaEYsTUFBTSxFQUFFQyxVQUFVLEVBQUVDLFlBQVksRUFBRSxHQUFHRjtRQUNyQyxJQUFJQyxZQUFZO1lBQ2YsT0FBT0M7UUFDUjtRQUNBLE1BQU1DLFNBQVMsSUFBSSxDQUFDQyxlQUFlLENBQUNDLGdCQUFTLEVBQUVIO1FBQy9DLE9BQU9JLE9BQU9DLFdBQVcsQ0FBQ0o7SUFDM0I7SUFFVUMsZ0JBQ1RJLGFBQXFDLEVBQ3JDTixZQUFvQyxFQUNuQztRQUNELE1BQU1PLGlCQUFpQkgsT0FBT0ksT0FBTyxDQUFDRixpQkFBaUIsQ0FBQztRQUN4RCxNQUFNRyxnQkFBZ0JMLE9BQU9JLE9BQU8sQ0FBQ1IsZ0JBQWdCLENBQUM7UUFDdEQsTUFBTVUscUJBQXFCSCxlQUFlSSxNQUFNLENBQy9DLENBQUMsQ0FBQ0MsR0FBRyxHQUFLSCxjQUFjSSxTQUFTLENBQUMsQ0FBQyxDQUFDQyxHQUFHLEdBQUtBLE9BQU9GLFFBQVEsQ0FBQztRQUc3RCxNQUFNRyxTQUFTTCxtQkFBbUJNLE1BQU0sQ0FBQ1A7UUFDekMsT0FBT007SUFDUjtBQUNEIn0=
|
|
@@ -19,12 +19,20 @@ class scribe {
|
|
|
19
19
|
return scribe.instance.getLogger(name, customLevels);
|
|
20
20
|
}
|
|
21
21
|
static configure(configOptions) {
|
|
22
|
+
const previous = scribe.instance;
|
|
22
23
|
scribe.instance = new scribe();
|
|
23
|
-
|
|
24
|
+
const factory = scribe.instance.configure(configOptions);
|
|
25
|
+
// Fire-and-forget: Flux/App.stop should have drained already; this covers
|
|
26
|
+
// reconfigure without an intervening stop (e.g. top-level withPino reload).
|
|
27
|
+
void previous.stop();
|
|
28
|
+
return factory;
|
|
24
29
|
}
|
|
25
30
|
static flush(cb) {
|
|
26
31
|
scribe.instance.loggerProvider.flush(cb);
|
|
27
32
|
}
|
|
33
|
+
/** Drain the active adapter and release workers / destinations. */ static async stop() {
|
|
34
|
+
await scribe.instance.stop();
|
|
35
|
+
}
|
|
28
36
|
constructor(){
|
|
29
37
|
// Initialize with default console adapter
|
|
30
38
|
this.loggerProvider = new _consoleadapter.ConsoleAdapter();
|
|
@@ -33,11 +41,21 @@ class scribe {
|
|
|
33
41
|
}
|
|
34
42
|
configure(configOptions) {
|
|
35
43
|
const { adapter, options } = configOptions;
|
|
44
|
+
const previous = this.loggerProvider;
|
|
36
45
|
this.loggerProvider = adapter;
|
|
37
46
|
const defaultsAndOptions = this.mergeDefaults(options);
|
|
38
47
|
adapter.configure(defaultsAndOptions);
|
|
48
|
+
if (previous !== adapter) {
|
|
49
|
+
void previous.stop();
|
|
50
|
+
}
|
|
39
51
|
return (name)=>adapter.getLogger(name);
|
|
40
52
|
}
|
|
53
|
+
async stop() {
|
|
54
|
+
await this.loggerProvider.stop();
|
|
55
|
+
}
|
|
56
|
+
async [Symbol.asyncDispose]() {
|
|
57
|
+
await this.stop();
|
|
58
|
+
}
|
|
41
59
|
getLogger(name, customLevels) {
|
|
42
60
|
// If custom levels are provided, we need to reconfigure the adapter
|
|
43
61
|
if (customLevels) {
|
|
@@ -72,4 +90,4 @@ class scribe {
|
|
|
72
90
|
}
|
|
73
91
|
}
|
|
74
92
|
|
|
75
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL2RlY29oZXJlL2RlY29oZXJlL3Byb2plY3RzL3NjcmliZS9zY3JpYmUvc3JjL2xvZ2dlci5mYWN0b3J5LnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbnNvbGVBZGFwdGVyIH0gZnJvbSBcIi4vY29uc29sZS5hZGFwdGVyLmpzXCI7XG5pbXBvcnQgeyByZXNvbHZlTG9nTGV2ZWwgfSBmcm9tIFwiLi9lbnYuanNcIjtcbmltcG9ydCB7IExvZ2dpbmdDb25maWd1cmF0aW9uRXJyb3IgfSBmcm9tIFwiLi9lcnJvcnMuanNcIjtcbmltcG9ydCB0eXBlIHsgTG9nZ2VyQWRhcHRlciB9IGZyb20gXCIuL2xvZ2dlci5hZGFwdGVyLmpzXCI7XG5pbXBvcnQgdHlwZSB7IExvZ2dlciB9IGZyb20gXCIuL2xvZ2dlci50eXBlLmpzXCI7XG5pbXBvcnQgeyBEZWZhdWx0TG9nTGV2ZWwsIERlZmF1bHRSZWRhY3Rpb25zLCB0eXBlIFNjcmliZU9wdGlvbnMgfSBmcm9tIFwiLi90eXBlcy5qc1wiO1xuXG50eXBlIExvZ2dlckZhY3RvcnlPcHRpb25zPFxuXHRUIGV4dGVuZHMgc3RyaW5nID0gbmV2ZXIsXG5cdEN1c3RvbU9ubHkgZXh0ZW5kcyB0cnVlIHwgZmFsc2UgPSBmYWxzZSxcbj4gPSB7XG5cdG9wdGlvbnM/OiBTY3JpYmVPcHRpb25zPFQsIEN1c3RvbU9ubHk+
|
|
93
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL2RlY29oZXJlL2RlY29oZXJlL3Byb2plY3RzL3NjcmliZS9zY3JpYmUvc3JjL2xvZ2dlci5mYWN0b3J5LnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbnNvbGVBZGFwdGVyIH0gZnJvbSBcIi4vY29uc29sZS5hZGFwdGVyLmpzXCI7XG5pbXBvcnQgeyByZXNvbHZlTG9nTGV2ZWwgfSBmcm9tIFwiLi9lbnYuanNcIjtcbmltcG9ydCB7IExvZ2dpbmdDb25maWd1cmF0aW9uRXJyb3IgfSBmcm9tIFwiLi9lcnJvcnMuanNcIjtcbmltcG9ydCB0eXBlIHsgTG9nZ2VyQWRhcHRlciB9IGZyb20gXCIuL2xvZ2dlci5hZGFwdGVyLmpzXCI7XG5pbXBvcnQgdHlwZSB7IExvZ2dlciB9IGZyb20gXCIuL2xvZ2dlci50eXBlLmpzXCI7XG5pbXBvcnQgeyBEZWZhdWx0TG9nTGV2ZWwsIERlZmF1bHRSZWRhY3Rpb25zLCB0eXBlIFNjcmliZU9wdGlvbnMgfSBmcm9tIFwiLi90eXBlcy5qc1wiO1xuXG50eXBlIExvZ2dlckZhY3RvcnlPcHRpb25zPFxuXHRUIGV4dGVuZHMgc3RyaW5nID0gbmV2ZXIsXG5cdEN1c3RvbU9ubHkgZXh0ZW5kcyB0cnVlIHwgZmFsc2UgPSBmYWxzZSxcbj4gPSB7XG5cdG9wdGlvbnM/OiBTY3JpYmVPcHRpb25zPFQsIEN1c3RvbU9ubHk+O1xuXHRhZGFwdGVyOiBMb2dnZXJBZGFwdGVyO1xufTtcblxuZXhwb3J0IGNsYXNzIHNjcmliZSBpbXBsZW1lbnRzIEFzeW5jRGlzcG9zYWJsZSB7XG5cdHByaXZhdGUgbG9nZ2VyUHJvdmlkZXI6IExvZ2dlckFkYXB0ZXI7XG5cdHByaXZhdGUgc3RhdGljIGluc3RhbmNlOiBzY3JpYmUgPSBuZXcgc2NyaWJlKCk7XG5cblx0cHVibGljIHN0YXRpYyBsb2dnZXI8VCBleHRlbmRzIHN0cmluZyA9IG5ldmVyLCBDdXN0b21Pbmx5IGV4dGVuZHMgdHJ1ZSB8IGZhbHNlID0gZmFsc2U+KFxuXHRcdG5hbWU/OiBzdHJpbmcsXG5cdFx0Y3VzdG9tTGV2ZWxzPzoge1xuXHRcdFx0W2xldmVsIGluIFRdOiBudW1iZXI7XG5cdFx0fSxcblx0KTogTG9nZ2VyPFQsIEN1c3RvbU9ubHk+IHtcblx0XHRyZXR1cm4gc2NyaWJlLmluc3RhbmNlLmdldExvZ2dlcjxULCBDdXN0b21Pbmx5PihuYW1lLCBjdXN0b21MZXZlbHMpIGFzIExvZ2dlcjxcblx0XHRcdFQsXG5cdFx0XHRDdXN0b21Pbmx5XG5cdFx0Pjtcblx0fVxuXG5cdHB1YmxpYyBzdGF0aWMgY29uZmlndXJlPFQgZXh0ZW5kcyBzdHJpbmcgPSBuZXZlciwgQ3VzdG9tT25seSBleHRlbmRzIHRydWUgfCBmYWxzZSA9IGZhbHNlPihcblx0XHRjb25maWdPcHRpb25zOiBMb2dnZXJGYWN0b3J5T3B0aW9uczxULCBDdXN0b21Pbmx5Pixcblx0KSB7XG5cdFx0Y29uc3QgcHJldmlvdXMgPSBzY3JpYmUuaW5zdGFuY2U7XG5cdFx0c2NyaWJlLmluc3RhbmNlID0gbmV3IHNjcmliZSgpO1xuXHRcdGNvbnN0IGZhY3RvcnkgPSBzY3JpYmUuaW5zdGFuY2UuY29uZmlndXJlPFQsIEN1c3RvbU9ubHk+KGNvbmZpZ09wdGlvbnMpO1xuXHRcdC8vIEZpcmUtYW5kLWZvcmdldDogRmx1eC9BcHAuc3RvcCBzaG91bGQgaGF2ZSBkcmFpbmVkIGFscmVhZHk7IHRoaXMgY292ZXJzXG5cdFx0Ly8gcmVjb25maWd1cmUgd2l0aG91dCBhbiBpbnRlcnZlbmluZyBzdG9wIChlLmcuIHRvcC1sZXZlbCB3aXRoUGlubyByZWxvYWQpLlxuXHRcdHZvaWQgcHJldmlvdXMuc3RvcCgpO1xuXHRcdHJldHVybiBmYWN0b3J5O1xuXHR9XG5cblx0cHVibGljIHN0YXRpYyBmbHVzaChjYj86ICgpID0+IHZvaWQpOiB2b2lkIHtcblx0XHRzY3JpYmUuaW5zdGFuY2UubG9nZ2VyUHJvdmlkZXIuZmx1c2goY2IpO1xuXHR9XG5cblx0LyoqIERyYWluIHRoZSBhY3RpdmUgYWRhcHRlciBhbmQgcmVsZWFzZSB3b3JrZXJzIC8gZGVzdGluYXRpb25zLiAqL1xuXHRwdWJsaWMgc3RhdGljIGFzeW5jIHN0b3AoKTogUHJvbWlzZTx2b2lkPiB7XG5cdFx0YXdhaXQgc2NyaWJlLmluc3RhbmNlLnN0b3AoKTtcblx0fVxuXG5cdHB1YmxpYyBjb25zdHJ1Y3RvcigpIHtcblx0XHQvLyBJbml0aWFsaXplIHdpdGggZGVmYXVsdCBjb25zb2xlIGFkYXB0ZXJcblx0XHR0aGlzLmxvZ2dlclByb3ZpZGVyID0gbmV3IENvbnNvbGVBZGFwdGVyKCk7XG5cdFx0Y29uc3QgZGVmYXVsdE9wdGlvbnMgPSB0aGlzLm1lcmdlRGVmYXVsdHMoKTtcblx0XHR0aGlzLmxvZ2dlclByb3ZpZGVyLmNvbmZpZ3VyZShkZWZhdWx0T3B0aW9ucyk7XG5cdH1cblxuXHRwdWJsaWMgY29uZmlndXJlPFQgZXh0ZW5kcyBzdHJpbmcgPSBuZXZlciwgQ3VzdG9tT25seSBleHRlbmRzIHRydWUgfCBmYWxzZSA9IGZhbHNlPihcblx0XHRjb25maWdPcHRpb25zOiBMb2dnZXJGYWN0b3J5T3B0aW9uczxULCBDdXN0b21Pbmx5Pixcblx0KTogKG5hbWU/OiBzdHJpbmcpID0+IExvZ2dlcjxULCBDdXN0b21Pbmx5PiB7XG5cdFx0Y29uc3QgeyBhZGFwdGVyLCBvcHRpb25zIH0gPSBjb25maWdPcHRpb25zO1xuXHRcdGNvbnN0IHByZXZpb3VzID0gdGhpcy5sb2dnZXJQcm92aWRlcjtcblx0XHR0aGlzLmxvZ2dlclByb3ZpZGVyID0gYWRhcHRlcjtcblx0XHRjb25zdCBkZWZhdWx0c0FuZE9wdGlvbnMgPSB0aGlzLm1lcmdlRGVmYXVsdHM8VCwgQ3VzdG9tT25seT4ob3B0aW9ucyk7XG5cdFx0YWRhcHRlci5jb25maWd1cmUoZGVmYXVsdHNBbmRPcHRpb25zKTtcblx0XHRpZiAocHJldmlvdXMgIT09IGFkYXB0ZXIpIHtcblx0XHRcdHZvaWQgcHJldmlvdXMuc3RvcCgpO1xuXHRcdH1cblx0XHRyZXR1cm4gKG5hbWU/OiBzdHJpbmcpID0+IGFkYXB0ZXIuZ2V0TG9nZ2VyKG5hbWUpIGFzIExvZ2dlcjxULCBDdXN0b21Pbmx5Pjtcblx0fVxuXG5cdHB1YmxpYyBhc3luYyBzdG9wKCk6IFByb21pc2U8dm9pZD4ge1xuXHRcdGF3YWl0IHRoaXMubG9nZ2VyUHJvdmlkZXIuc3RvcCgpO1xuXHR9XG5cblx0cHVibGljIGFzeW5jIFtTeW1ib2wuYXN5bmNEaXNwb3NlXSgpOiBQcm9taXNlPHZvaWQ+IHtcblx0XHRhd2FpdCB0aGlzLnN0b3AoKTtcblx0fVxuXG5cdHB1YmxpYyBnZXRMb2dnZXI8VCBleHRlbmRzIHN0cmluZyA9IG5ldmVyLCBDdXN0b21Pbmx5IGV4dGVuZHMgdHJ1ZSB8IGZhbHNlID0gZmFsc2U+KFxuXHRcdG5hbWU/OiBzdHJpbmcsXG5cdFx0Y3VzdG9tTGV2ZWxzPzoge1xuXHRcdFx0W2xldmVsIGluIFRdOiBudW1iZXI7XG5cdFx0fSxcblx0KTogTG9nZ2VyPFQsIEN1c3RvbU9ubHk+IHtcblx0XHQvLyBJZiBjdXN0b20gbGV2ZWxzIGFyZSBwcm92aWRlZCwgd2UgbmVlZCB0byByZWNvbmZpZ3VyZSB0aGUgYWRhcHRlclxuXHRcdGlmIChjdXN0b21MZXZlbHMpIHtcblx0XHRcdGNvbnN0IGN1cnJlbnRPcHRpb25zID0gdGhpcy5tZXJnZURlZmF1bHRzKHsgY3VzdG9tTGV2ZWxzIH0pO1xuXHRcdFx0dGhpcy5sb2dnZXJQcm92aWRlci5jb25maWd1cmUoY3VycmVudE9wdGlvbnMpO1xuXHRcdH1cblxuXHRcdGNvbnN0IGxvZ2dlciA9IHRoaXMubG9nZ2VyUHJvdmlkZXIuZ2V0TG9nZ2VyKG5hbWUpIGFzIExvZ2dlcjxULCBDdXN0b21Pbmx5Pjtcblx0XHR0aGlzLnN1cHBvcnRzTGV2ZWxzKGN1c3RvbUxldmVscywgbG9nZ2VyKTtcblx0XHRyZXR1cm4gbG9nZ2VyO1xuXHR9XG5cblx0cHJpdmF0ZSBzdXBwb3J0c0xldmVsczxUIGV4dGVuZHMgc3RyaW5nID0gbmV2ZXIsIEN1c3RvbU9ubHkgZXh0ZW5kcyB0cnVlID0gdW5kZWZpbmVkPihcblx0XHRjdXN0b21MZXZlbHM6IHtcblx0XHRcdFtsZXZlbCBpbiBUXTogbnVtYmVyO1xuXHRcdH0sXG5cdFx0bG9nZ2VyOiBMb2dnZXI8VCwgQ3VzdG9tT25seT4sXG5cdCkge1xuXHRcdGlmICghY3VzdG9tTGV2ZWxzKSB7XG5cdFx0XHRyZXR1cm47XG5cdFx0fVxuXG5cdFx0Y29uc3QgbWlzc2luZ0xldmVsID0gT2JqZWN0LmVudHJpZXMoY3VzdG9tTGV2ZWxzKS5maW5kKFxuXHRcdFx0KGtleSkgPT4gIWxvZ2dlci5sb2dMZXZlbHNba2V5LmF0KDApLnRvU3RyaW5nKCldLFxuXHRcdCk7XG5cblx0XHRpZiAobWlzc2luZ0xldmVsICE9IG51bGwpIHtcblx0XHRcdHRocm93IG5ldyBMb2dnaW5nQ29uZmlndXJhdGlvbkVycm9yKFxuXHRcdFx0XHRgQ3VycmVudCBsb2dnZXIgd2FzIG5vdCBjb25maWd1cmVkIGZvciBjdXN0b20gbGV2ZWwgJHttaXNzaW5nTGV2ZWx9LCB2YWxpZCBsZXZlbHMgYXJlOiAke0pTT04uc3RyaW5naWZ5KGxvZ2dlci5sb2dMZXZlbHMpfWAsXG5cdFx0XHQpO1xuXHRcdH1cblx0XHRyZXR1cm4geyBtaXNzaW5nTGV2ZWwgfTtcblx0fVxuXG5cdHByaXZhdGUgbWVyZ2VEZWZhdWx0czxUIGV4dGVuZHMgc3RyaW5nID0gbmV2ZXIsIEN1c3RvbU9ubHkgZXh0ZW5kcyB0cnVlIHwgZmFsc2UgPSBmYWxzZT4oXG5cdFx0b3B0aW9ucz86IFNjcmliZU9wdGlvbnM8VCwgQ3VzdG9tT25seT4sXG5cdCk6IFNjcmliZU9wdGlvbnM8VCwgQ3VzdG9tT25seT4ge1xuXHRcdGNvbnN0IGxvZ0xldmVsID0gcmVzb2x2ZUxvZ0xldmVsKG9wdGlvbnM/LmxvZ0xldmVsKSA/PyBEZWZhdWx0TG9nTGV2ZWw7XG5cdFx0cmV0dXJuIHsgbG9nTGV2ZWwsIHJlZGFjdGlvbnM6IERlZmF1bHRSZWRhY3Rpb25zLCAuLi5vcHRpb25zIH07XG5cdH1cbn1cbiJdLCJuYW1lcyI6WyJzY3JpYmUiLCJsb2dnZXJQcm92aWRlciIsImluc3RhbmNlIiwibG9nZ2VyIiwibmFtZSIsImN1c3RvbUxldmVscyIsImdldExvZ2dlciIsImNvbmZpZ3VyZSIsImNvbmZpZ09wdGlvbnMiLCJwcmV2aW91cyIsImZhY3RvcnkiLCJzdG9wIiwiZmx1c2giLCJjYiIsIkNvbnNvbGVBZGFwdGVyIiwiZGVmYXVsdE9wdGlvbnMiLCJtZXJnZURlZmF1bHRzIiwiYWRhcHRlciIsIm9wdGlvbnMiLCJkZWZhdWx0c0FuZE9wdGlvbnMiLCJTeW1ib2wiLCJhc3luY0Rpc3Bvc2UiLCJjdXJyZW50T3B0aW9ucyIsInN1cHBvcnRzTGV2ZWxzIiwibWlzc2luZ0xldmVsIiwiT2JqZWN0IiwiZW50cmllcyIsImZpbmQiLCJrZXkiLCJsb2dMZXZlbHMiLCJhdCIsInRvU3RyaW5nIiwiTG9nZ2luZ0NvbmZpZ3VyYXRpb25FcnJvciIsIkpTT04iLCJzdHJpbmdpZnkiLCJsb2dMZXZlbCIsInJlc29sdmVMb2dMZXZlbCIsIkRlZmF1bHRMb2dMZXZlbCIsInJlZGFjdGlvbnMiLCJEZWZhdWx0UmVkYWN0aW9ucyJdLCJtYXBwaW5ncyI6Ijs7OzsrQkFlYUE7OztlQUFBQTs7O2dDQWZrQjtxQkFDQzt3QkFDVTt1QkFHNkI7QUFVaEUsTUFBTUE7SUFDSkMsZUFBOEI7SUFDdEMsT0FBZUMsV0FBbUIsSUFBSUYsU0FBUztJQUUvQyxPQUFjRyxPQUNiQyxJQUFhLEVBQ2JDLFlBRUMsRUFDdUI7UUFDeEIsT0FBT0wsT0FBT0UsUUFBUSxDQUFDSSxTQUFTLENBQWdCRixNQUFNQztJQUl2RDtJQUVBLE9BQWNFLFVBQ2JDLGFBQWtELEVBQ2pEO1FBQ0QsTUFBTUMsV0FBV1QsT0FBT0UsUUFBUTtRQUNoQ0YsT0FBT0UsUUFBUSxHQUFHLElBQUlGO1FBQ3RCLE1BQU1VLFVBQVVWLE9BQU9FLFFBQVEsQ0FBQ0ssU0FBUyxDQUFnQkM7UUFDekQsMEVBQTBFO1FBQzFFLDRFQUE0RTtRQUM1RSxLQUFLQyxTQUFTRSxJQUFJO1FBQ2xCLE9BQU9EO0lBQ1I7SUFFQSxPQUFjRSxNQUFNQyxFQUFlLEVBQVE7UUFDMUNiLE9BQU9FLFFBQVEsQ0FBQ0QsY0FBYyxDQUFDVyxLQUFLLENBQUNDO0lBQ3RDO0lBRUEsaUVBQWlFLEdBQ2pFLGFBQW9CRixPQUFzQjtRQUN6QyxNQUFNWCxPQUFPRSxRQUFRLENBQUNTLElBQUk7SUFDM0I7SUFFQSxhQUFxQjtRQUNwQiwwQ0FBMEM7UUFDMUMsSUFBSSxDQUFDVixjQUFjLEdBQUcsSUFBSWEsOEJBQWM7UUFDeEMsTUFBTUMsaUJBQWlCLElBQUksQ0FBQ0MsYUFBYTtRQUN6QyxJQUFJLENBQUNmLGNBQWMsQ0FBQ00sU0FBUyxDQUFDUTtJQUMvQjtJQUVPUixVQUNOQyxhQUFrRCxFQUNQO1FBQzNDLE1BQU0sRUFBRVMsT0FBTyxFQUFFQyxPQUFPLEVBQUUsR0FBR1Y7UUFDN0IsTUFBTUMsV0FBVyxJQUFJLENBQUNSLGNBQWM7UUFDcEMsSUFBSSxDQUFDQSxjQUFjLEdBQUdnQjtRQUN0QixNQUFNRSxxQkFBcUIsSUFBSSxDQUFDSCxhQUFhLENBQWdCRTtRQUM3REQsUUFBUVYsU0FBUyxDQUFDWTtRQUNsQixJQUFJVixhQUFhUSxTQUFTO1lBQ3pCLEtBQUtSLFNBQVNFLElBQUk7UUFDbkI7UUFDQSxPQUFPLENBQUNQLE9BQWtCYSxRQUFRWCxTQUFTLENBQUNGO0lBQzdDO0lBRUEsTUFBYU8sT0FBc0I7UUFDbEMsTUFBTSxJQUFJLENBQUNWLGNBQWMsQ0FBQ1UsSUFBSTtJQUMvQjtJQUVBLE1BQWEsQ0FBQ1MsT0FBT0MsWUFBWSxDQUFDLEdBQWtCO1FBQ25ELE1BQU0sSUFBSSxDQUFDVixJQUFJO0lBQ2hCO0lBRU9MLFVBQ05GLElBQWEsRUFDYkMsWUFFQyxFQUN1QjtRQUN4QixvRUFBb0U7UUFDcEUsSUFBSUEsY0FBYztZQUNqQixNQUFNaUIsaUJBQWlCLElBQUksQ0FBQ04sYUFBYSxDQUFDO2dCQUFFWDtZQUFhO1lBQ3pELElBQUksQ0FBQ0osY0FBYyxDQUFDTSxTQUFTLENBQUNlO1FBQy9CO1FBRUEsTUFBTW5CLFNBQVMsSUFBSSxDQUFDRixjQUFjLENBQUNLLFNBQVMsQ0FBQ0Y7UUFDN0MsSUFBSSxDQUFDbUIsY0FBYyxDQUFDbEIsY0FBY0Y7UUFDbEMsT0FBT0E7SUFDUjtJQUVRb0IsZUFDUGxCLFlBRUMsRUFDREYsTUFBNkIsRUFDNUI7UUFDRCxJQUFJLENBQUNFLGNBQWM7WUFDbEI7UUFDRDtRQUVBLE1BQU1tQixlQUFlQyxPQUFPQyxPQUFPLENBQUNyQixjQUFjc0IsSUFBSSxDQUNyRCxDQUFDQyxNQUFRLENBQUN6QixPQUFPMEIsU0FBUyxDQUFDRCxJQUFJRSxFQUFFLENBQUMsR0FBR0MsUUFBUSxHQUFHO1FBR2pELElBQUlQLGdCQUFnQixNQUFNO1lBQ3pCLE1BQU0sSUFBSVEsaUNBQXlCLENBQ2xDLENBQUMsbURBQW1ELEVBQUVSLGFBQWEsb0JBQW9CLEVBQUVTLEtBQUtDLFNBQVMsQ0FBQy9CLE9BQU8wQixTQUFTLEdBQUc7UUFFN0g7UUFDQSxPQUFPO1lBQUVMO1FBQWE7SUFDdkI7SUFFUVIsY0FDUEUsT0FBc0MsRUFDUDtRQUMvQixNQUFNaUIsV0FBV0MsSUFBQUEsb0JBQWUsRUFBQ2xCLFNBQVNpQixhQUFhRSxzQkFBZTtRQUN0RSxPQUFPO1lBQUVGO1lBQVVHLFlBQVlDLHdCQUFpQjtZQUFFLEdBQUdyQixPQUFPO1FBQUM7SUFDOUQ7QUFDRCJ9
|
|
@@ -6,6 +6,12 @@ export class LogAdapter {
|
|
|
6
6
|
flush(cb) {
|
|
7
7
|
cb?.();
|
|
8
8
|
}
|
|
9
|
+
async stop() {
|
|
10
|
+
await this[Symbol.asyncDispose]();
|
|
11
|
+
}
|
|
12
|
+
async [Symbol.asyncDispose]() {
|
|
13
|
+
// Console / no-op adapters have nothing to release.
|
|
14
|
+
}
|
|
9
15
|
// biome-ignore lint/suspicious/noExplicitAny: Generic utility method needs flexible typing
|
|
10
16
|
getLogLevels(options) {
|
|
11
17
|
const { customOnly, customLevels } = options;
|
|
@@ -24,4 +30,4 @@ export class LogAdapter {
|
|
|
24
30
|
}
|
|
25
31
|
}
|
|
26
32
|
|
|
27
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL2RlY29oZXJlL2RlY29oZXJlL3Byb2plY3RzL3NjcmliZS9zY3JpYmUvc3JjL2xvZ2dlci5hZGFwdGVyLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgTG9nZ2VyIH0gZnJvbSBcIi4vbG9nZ2VyLnR5cGUuanNcIjtcbmltcG9ydCB7IExvZ0xldmVscywgdHlwZSBTY3JpYmVPcHRpb25zIH0gZnJvbSBcIi4vdHlwZXMuanNcIjtcblxuZXhwb3J0IGZ1bmN0aW9uIGZvcm1hdEVycm9yKGVycjogRXJyb3IpOiBzdHJpbmcge1xuXHRyZXR1cm4gZXJyLnN0YWNrID8/
|
|
33
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL2RlY29oZXJlL2RlY29oZXJlL3Byb2plY3RzL3NjcmliZS9zY3JpYmUvc3JjL2xvZ2dlci5hZGFwdGVyLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgTG9nZ2VyIH0gZnJvbSBcIi4vbG9nZ2VyLnR5cGUuanNcIjtcbmltcG9ydCB7IExvZ0xldmVscywgdHlwZSBTY3JpYmVPcHRpb25zIH0gZnJvbSBcIi4vdHlwZXMuanNcIjtcblxuZXhwb3J0IGZ1bmN0aW9uIGZvcm1hdEVycm9yKGVycjogRXJyb3IpOiBzdHJpbmcge1xuXHRyZXR1cm4gZXJyLnN0YWNrID8/IGVyci5tZXNzYWdlO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIExvZ2dlckFkYXB0ZXIgZXh0ZW5kcyBBc3luY0Rpc3Bvc2FibGUge1xuXHRjb25maWd1cmU8VCBleHRlbmRzIHN0cmluZyA9IG5ldmVyLCBDdXN0b21Pbmx5IGV4dGVuZHMgdHJ1ZSB8IGZhbHNlID0gZmFsc2U+KFxuXHRcdG9wdGlvbnM6IFNjcmliZU9wdGlvbnM8VCwgQ3VzdG9tT25seT4sXG5cdCk7XG5cdGdldExvZ2dlcjxUIGV4dGVuZHMgc3RyaW5nID0gbmV2ZXIsIEN1c3RvbU9ubHkgZXh0ZW5kcyB0cnVlIHwgZmFsc2UgPSBmYWxzZT4oXG5cdFx0bmFtZTogc3RyaW5nLFxuXHQpOiBMb2dnZXI8VCwgQ3VzdG9tT25seT47XG5cdGZsdXNoKGNiPzogKCkgPT4gdm9pZCk6IHZvaWQ7XG5cdC8qKlxuXHQgKiBEcmFpbiBidWZmZXJlZCBvdXRwdXQgYW5kIHJlbGVhc2UgdW5tYW5hZ2VkIGhhbmRsZXMgKHdvcmtlcnMsIGZkcykuXG5cdCAqIElkZW1wb3RlbnQg4oCUIHNhZmUgdG8gY2FsbCBtb3JlIHRoYW4gb25jZS5cblx0ICovXG5cdHN0b3AoKTogUHJvbWlzZTx2b2lkPjtcbn1cblxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIExvZ0FkYXB0ZXIgaW1wbGVtZW50cyBMb2dnZXJBZGFwdGVyIHtcblx0cHVibGljIGFic3RyYWN0IGNvbmZpZ3VyZTxUIGV4dGVuZHMgc3RyaW5nID0gbmV2ZXIsIEN1c3RvbU9ubHkgZXh0ZW5kcyB0cnVlIHwgZmFsc2UgPSBmYWxzZT4oXG5cdFx0b3B0aW9uczogU2NyaWJlT3B0aW9uczxULCBDdXN0b21Pbmx5Pixcblx0KTtcblxuXHRwdWJsaWMgYWJzdHJhY3QgZ2V0TG9nZ2VyPFQgZXh0ZW5kcyBzdHJpbmcgPSBuZXZlciwgQ3VzdG9tT25seSBleHRlbmRzIHRydWUgfCBmYWxzZSA9IGZhbHNlPihcblx0XHRuYW1lOiBzdHJpbmcsXG5cdCk6IExvZ2dlcjxULCBDdXN0b21Pbmx5PjtcblxuXHRwdWJsaWMgZmx1c2goY2I/OiAoKSA9PiB2b2lkKTogdm9pZCB7XG5cdFx0Y2I/LigpO1xuXHR9XG5cblx0cHVibGljIGFzeW5jIHN0b3AoKTogUHJvbWlzZTx2b2lkPiB7XG5cdFx0YXdhaXQgdGhpc1tTeW1ib2wuYXN5bmNEaXNwb3NlXSgpO1xuXHR9XG5cblx0cHVibGljIGFzeW5jIFtTeW1ib2wuYXN5bmNEaXNwb3NlXSgpOiBQcm9taXNlPHZvaWQ+IHtcblx0XHQvLyBDb25zb2xlIC8gbm8tb3AgYWRhcHRlcnMgaGF2ZSBub3RoaW5nIHRvIHJlbGVhc2UuXG5cdH1cblxuXHQvLyBiaW9tZS1pZ25vcmUgbGludC9zdXNwaWNpb3VzL25vRXhwbGljaXRBbnk6IEdlbmVyaWMgdXRpbGl0eSBtZXRob2QgbmVlZHMgZmxleGlibGUgdHlwaW5nXG5cdHByb3RlY3RlZCBnZXRMb2dMZXZlbHMob3B0aW9uczogU2NyaWJlT3B0aW9uczxhbnksIGFueT4pOiBSZWNvcmQ8c3RyaW5nLCBudW1iZXI+IHtcblx0XHRjb25zdCB7IGN1c3RvbU9ubHksIGN1c3RvbUxldmVscyB9ID0gb3B0aW9ucztcblx0XHRpZiAoY3VzdG9tT25seSkge1xuXHRcdFx0cmV0dXJuIGN1c3RvbUxldmVscztcblx0XHR9XG5cdFx0Y29uc3QgbGV2ZWxzID0gdGhpcy5nZXRVbmlxdWVMZXZlbHMoTG9nTGV2ZWxzLCBjdXN0b21MZXZlbHMpO1xuXHRcdHJldHVybiBPYmplY3QuZnJvbUVudHJpZXMobGV2ZWxzKTtcblx0fVxuXG5cdHByb3RlY3RlZCBnZXRVbmlxdWVMZXZlbHMoXG5cdFx0ZGVmYXVsdExldmVsczogUmVjb3JkPHN0cmluZywgbnVtYmVyPixcblx0XHRjdXN0b21MZXZlbHM6IFJlY29yZDxzdHJpbmcsIG51bWJlcj4sXG5cdCkge1xuXHRcdGNvbnN0IGRlZmF1bHRFbnRyaWVzID0gT2JqZWN0LmVudHJpZXMoZGVmYXVsdExldmVscyA/PyB7fSk7XG5cdFx0Y29uc3QgY3VzdG9tRW50cmllcyA9IE9iamVjdC5lbnRyaWVzKGN1c3RvbUxldmVscyA/PyB7fSk7XG5cdFx0Y29uc3QgZGVmYXVsdE5vdEluQ3VzdG9tID0gZGVmYXVsdEVudHJpZXMuZmlsdGVyKFxuXHRcdFx0KFtka10pID0+IGN1c3RvbUVudHJpZXMuZmluZEluZGV4KChbY2tdKSA9PiBjayA9PT0gZGspID09PSAtMSxcblx0XHQpO1xuXG5cdFx0Y29uc3QgdW5pcXVlID0gZGVmYXVsdE5vdEluQ3VzdG9tLmNvbmNhdChjdXN0b21FbnRyaWVzKTtcblx0XHRyZXR1cm4gdW5pcXVlO1xuXHR9XG59XG4iXSwibmFtZXMiOlsiTG9nTGV2ZWxzIiwiZm9ybWF0RXJyb3IiLCJlcnIiLCJzdGFjayIsIm1lc3NhZ2UiLCJMb2dBZGFwdGVyIiwiZmx1c2giLCJjYiIsInN0b3AiLCJTeW1ib2wiLCJhc3luY0Rpc3Bvc2UiLCJnZXRMb2dMZXZlbHMiLCJvcHRpb25zIiwiY3VzdG9tT25seSIsImN1c3RvbUxldmVscyIsImxldmVscyIsImdldFVuaXF1ZUxldmVscyIsIk9iamVjdCIsImZyb21FbnRyaWVzIiwiZGVmYXVsdExldmVscyIsImRlZmF1bHRFbnRyaWVzIiwiZW50cmllcyIsImN1c3RvbUVudHJpZXMiLCJkZWZhdWx0Tm90SW5DdXN0b20iLCJmaWx0ZXIiLCJkayIsImZpbmRJbmRleCIsImNrIiwidW5pcXVlIiwiY29uY2F0Il0sIm1hcHBpbmdzIjoiQUFDQSxTQUFTQSxTQUFTLFFBQTRCLGFBQWE7QUFFM0QsT0FBTyxTQUFTQyxZQUFZQyxHQUFVO0lBQ3JDLE9BQU9BLElBQUlDLEtBQUssSUFBSUQsSUFBSUUsT0FBTztBQUNoQztBQWlCQSxPQUFPLE1BQWVDO0lBU2RDLE1BQU1DLEVBQWUsRUFBUTtRQUNuQ0E7SUFDRDtJQUVBLE1BQWFDLE9BQXNCO1FBQ2xDLE1BQU0sSUFBSSxDQUFDQyxPQUFPQyxZQUFZLENBQUM7SUFDaEM7SUFFQSxNQUFhLENBQUNELE9BQU9DLFlBQVksQ0FBQyxHQUFrQjtJQUNuRCxvREFBb0Q7SUFDckQ7SUFFQSwyRkFBMkY7SUFDakZDLGFBQWFDLE9BQWdDLEVBQTBCO1FBQ2hGLE1BQU0sRUFBRUMsVUFBVSxFQUFFQyxZQUFZLEVBQUUsR0FBR0Y7UUFDckMsSUFBSUMsWUFBWTtZQUNmLE9BQU9DO1FBQ1I7UUFDQSxNQUFNQyxTQUFTLElBQUksQ0FBQ0MsZUFBZSxDQUFDaEIsV0FBV2M7UUFDL0MsT0FBT0csT0FBT0MsV0FBVyxDQUFDSDtJQUMzQjtJQUVVQyxnQkFDVEcsYUFBcUMsRUFDckNMLFlBQW9DLEVBQ25DO1FBQ0QsTUFBTU0saUJBQWlCSCxPQUFPSSxPQUFPLENBQUNGLGlCQUFpQixDQUFDO1FBQ3hELE1BQU1HLGdCQUFnQkwsT0FBT0ksT0FBTyxDQUFDUCxnQkFBZ0IsQ0FBQztRQUN0RCxNQUFNUyxxQkFBcUJILGVBQWVJLE1BQU0sQ0FDL0MsQ0FBQyxDQUFDQyxHQUFHLEdBQUtILGNBQWNJLFNBQVMsQ0FBQyxDQUFDLENBQUNDLEdBQUcsR0FBS0EsT0FBT0YsUUFBUSxDQUFDO1FBRzdELE1BQU1HLFNBQVNMLG1CQUFtQk0sTUFBTSxDQUFDUDtRQUN6QyxPQUFPTTtJQUNSO0FBQ0QifQ==
|
|
@@ -9,12 +9,20 @@ export class scribe {
|
|
|
9
9
|
return scribe.instance.getLogger(name, customLevels);
|
|
10
10
|
}
|
|
11
11
|
static configure(configOptions) {
|
|
12
|
+
const previous = scribe.instance;
|
|
12
13
|
scribe.instance = new scribe();
|
|
13
|
-
|
|
14
|
+
const factory = scribe.instance.configure(configOptions);
|
|
15
|
+
// Fire-and-forget: Flux/App.stop should have drained already; this covers
|
|
16
|
+
// reconfigure without an intervening stop (e.g. top-level withPino reload).
|
|
17
|
+
void previous.stop();
|
|
18
|
+
return factory;
|
|
14
19
|
}
|
|
15
20
|
static flush(cb) {
|
|
16
21
|
scribe.instance.loggerProvider.flush(cb);
|
|
17
22
|
}
|
|
23
|
+
/** Drain the active adapter and release workers / destinations. */ static async stop() {
|
|
24
|
+
await scribe.instance.stop();
|
|
25
|
+
}
|
|
18
26
|
constructor(){
|
|
19
27
|
// Initialize with default console adapter
|
|
20
28
|
this.loggerProvider = new ConsoleAdapter();
|
|
@@ -23,11 +31,21 @@ export class scribe {
|
|
|
23
31
|
}
|
|
24
32
|
configure(configOptions) {
|
|
25
33
|
const { adapter, options } = configOptions;
|
|
34
|
+
const previous = this.loggerProvider;
|
|
26
35
|
this.loggerProvider = adapter;
|
|
27
36
|
const defaultsAndOptions = this.mergeDefaults(options);
|
|
28
37
|
adapter.configure(defaultsAndOptions);
|
|
38
|
+
if (previous !== adapter) {
|
|
39
|
+
void previous.stop();
|
|
40
|
+
}
|
|
29
41
|
return (name)=>adapter.getLogger(name);
|
|
30
42
|
}
|
|
43
|
+
async stop() {
|
|
44
|
+
await this.loggerProvider.stop();
|
|
45
|
+
}
|
|
46
|
+
async [Symbol.asyncDispose]() {
|
|
47
|
+
await this.stop();
|
|
48
|
+
}
|
|
31
49
|
getLogger(name, customLevels) {
|
|
32
50
|
// If custom levels are provided, we need to reconfigure the adapter
|
|
33
51
|
if (customLevels) {
|
|
@@ -62,4 +80,4 @@ export class scribe {
|
|
|
62
80
|
}
|
|
63
81
|
}
|
|
64
82
|
|
|
65
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL2RlY29oZXJlL2RlY29oZXJlL3Byb2plY3RzL3NjcmliZS9zY3JpYmUvc3JjL2xvZ2dlci5mYWN0b3J5LnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbnNvbGVBZGFwdGVyIH0gZnJvbSBcIi4vY29uc29sZS5hZGFwdGVyLmpzXCI7XG5pbXBvcnQgeyByZXNvbHZlTG9nTGV2ZWwgfSBmcm9tIFwiLi9lbnYuanNcIjtcbmltcG9ydCB7IExvZ2dpbmdDb25maWd1cmF0aW9uRXJyb3IgfSBmcm9tIFwiLi9lcnJvcnMuanNcIjtcbmltcG9ydCB0eXBlIHsgTG9nZ2VyQWRhcHRlciB9IGZyb20gXCIuL2xvZ2dlci5hZGFwdGVyLmpzXCI7XG5pbXBvcnQgdHlwZSB7IExvZ2dlciB9IGZyb20gXCIuL2xvZ2dlci50eXBlLmpzXCI7XG5pbXBvcnQgeyBEZWZhdWx0TG9nTGV2ZWwsIERlZmF1bHRSZWRhY3Rpb25zLCB0eXBlIFNjcmliZU9wdGlvbnMgfSBmcm9tIFwiLi90eXBlcy5qc1wiO1xuXG50eXBlIExvZ2dlckZhY3RvcnlPcHRpb25zPFxuXHRUIGV4dGVuZHMgc3RyaW5nID0gbmV2ZXIsXG5cdEN1c3RvbU9ubHkgZXh0ZW5kcyB0cnVlIHwgZmFsc2UgPSBmYWxzZSxcbj4gPSB7XG5cdG9wdGlvbnM/OiBTY3JpYmVPcHRpb25zPFQsIEN1c3RvbU9ubHk+
|
|
83
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL2RlY29oZXJlL2RlY29oZXJlL3Byb2plY3RzL3NjcmliZS9zY3JpYmUvc3JjL2xvZ2dlci5mYWN0b3J5LnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbnNvbGVBZGFwdGVyIH0gZnJvbSBcIi4vY29uc29sZS5hZGFwdGVyLmpzXCI7XG5pbXBvcnQgeyByZXNvbHZlTG9nTGV2ZWwgfSBmcm9tIFwiLi9lbnYuanNcIjtcbmltcG9ydCB7IExvZ2dpbmdDb25maWd1cmF0aW9uRXJyb3IgfSBmcm9tIFwiLi9lcnJvcnMuanNcIjtcbmltcG9ydCB0eXBlIHsgTG9nZ2VyQWRhcHRlciB9IGZyb20gXCIuL2xvZ2dlci5hZGFwdGVyLmpzXCI7XG5pbXBvcnQgdHlwZSB7IExvZ2dlciB9IGZyb20gXCIuL2xvZ2dlci50eXBlLmpzXCI7XG5pbXBvcnQgeyBEZWZhdWx0TG9nTGV2ZWwsIERlZmF1bHRSZWRhY3Rpb25zLCB0eXBlIFNjcmliZU9wdGlvbnMgfSBmcm9tIFwiLi90eXBlcy5qc1wiO1xuXG50eXBlIExvZ2dlckZhY3RvcnlPcHRpb25zPFxuXHRUIGV4dGVuZHMgc3RyaW5nID0gbmV2ZXIsXG5cdEN1c3RvbU9ubHkgZXh0ZW5kcyB0cnVlIHwgZmFsc2UgPSBmYWxzZSxcbj4gPSB7XG5cdG9wdGlvbnM/OiBTY3JpYmVPcHRpb25zPFQsIEN1c3RvbU9ubHk+O1xuXHRhZGFwdGVyOiBMb2dnZXJBZGFwdGVyO1xufTtcblxuZXhwb3J0IGNsYXNzIHNjcmliZSBpbXBsZW1lbnRzIEFzeW5jRGlzcG9zYWJsZSB7XG5cdHByaXZhdGUgbG9nZ2VyUHJvdmlkZXI6IExvZ2dlckFkYXB0ZXI7XG5cdHByaXZhdGUgc3RhdGljIGluc3RhbmNlOiBzY3JpYmUgPSBuZXcgc2NyaWJlKCk7XG5cblx0cHVibGljIHN0YXRpYyBsb2dnZXI8VCBleHRlbmRzIHN0cmluZyA9IG5ldmVyLCBDdXN0b21Pbmx5IGV4dGVuZHMgdHJ1ZSB8IGZhbHNlID0gZmFsc2U+KFxuXHRcdG5hbWU/OiBzdHJpbmcsXG5cdFx0Y3VzdG9tTGV2ZWxzPzoge1xuXHRcdFx0W2xldmVsIGluIFRdOiBudW1iZXI7XG5cdFx0fSxcblx0KTogTG9nZ2VyPFQsIEN1c3RvbU9ubHk+IHtcblx0XHRyZXR1cm4gc2NyaWJlLmluc3RhbmNlLmdldExvZ2dlcjxULCBDdXN0b21Pbmx5PihuYW1lLCBjdXN0b21MZXZlbHMpIGFzIExvZ2dlcjxcblx0XHRcdFQsXG5cdFx0XHRDdXN0b21Pbmx5XG5cdFx0Pjtcblx0fVxuXG5cdHB1YmxpYyBzdGF0aWMgY29uZmlndXJlPFQgZXh0ZW5kcyBzdHJpbmcgPSBuZXZlciwgQ3VzdG9tT25seSBleHRlbmRzIHRydWUgfCBmYWxzZSA9IGZhbHNlPihcblx0XHRjb25maWdPcHRpb25zOiBMb2dnZXJGYWN0b3J5T3B0aW9uczxULCBDdXN0b21Pbmx5Pixcblx0KSB7XG5cdFx0Y29uc3QgcHJldmlvdXMgPSBzY3JpYmUuaW5zdGFuY2U7XG5cdFx0c2NyaWJlLmluc3RhbmNlID0gbmV3IHNjcmliZSgpO1xuXHRcdGNvbnN0IGZhY3RvcnkgPSBzY3JpYmUuaW5zdGFuY2UuY29uZmlndXJlPFQsIEN1c3RvbU9ubHk+KGNvbmZpZ09wdGlvbnMpO1xuXHRcdC8vIEZpcmUtYW5kLWZvcmdldDogRmx1eC9BcHAuc3RvcCBzaG91bGQgaGF2ZSBkcmFpbmVkIGFscmVhZHk7IHRoaXMgY292ZXJzXG5cdFx0Ly8gcmVjb25maWd1cmUgd2l0aG91dCBhbiBpbnRlcnZlbmluZyBzdG9wIChlLmcuIHRvcC1sZXZlbCB3aXRoUGlubyByZWxvYWQpLlxuXHRcdHZvaWQgcHJldmlvdXMuc3RvcCgpO1xuXHRcdHJldHVybiBmYWN0b3J5O1xuXHR9XG5cblx0cHVibGljIHN0YXRpYyBmbHVzaChjYj86ICgpID0+IHZvaWQpOiB2b2lkIHtcblx0XHRzY3JpYmUuaW5zdGFuY2UubG9nZ2VyUHJvdmlkZXIuZmx1c2goY2IpO1xuXHR9XG5cblx0LyoqIERyYWluIHRoZSBhY3RpdmUgYWRhcHRlciBhbmQgcmVsZWFzZSB3b3JrZXJzIC8gZGVzdGluYXRpb25zLiAqL1xuXHRwdWJsaWMgc3RhdGljIGFzeW5jIHN0b3AoKTogUHJvbWlzZTx2b2lkPiB7XG5cdFx0YXdhaXQgc2NyaWJlLmluc3RhbmNlLnN0b3AoKTtcblx0fVxuXG5cdHB1YmxpYyBjb25zdHJ1Y3RvcigpIHtcblx0XHQvLyBJbml0aWFsaXplIHdpdGggZGVmYXVsdCBjb25zb2xlIGFkYXB0ZXJcblx0XHR0aGlzLmxvZ2dlclByb3ZpZGVyID0gbmV3IENvbnNvbGVBZGFwdGVyKCk7XG5cdFx0Y29uc3QgZGVmYXVsdE9wdGlvbnMgPSB0aGlzLm1lcmdlRGVmYXVsdHMoKTtcblx0XHR0aGlzLmxvZ2dlclByb3ZpZGVyLmNvbmZpZ3VyZShkZWZhdWx0T3B0aW9ucyk7XG5cdH1cblxuXHRwdWJsaWMgY29uZmlndXJlPFQgZXh0ZW5kcyBzdHJpbmcgPSBuZXZlciwgQ3VzdG9tT25seSBleHRlbmRzIHRydWUgfCBmYWxzZSA9IGZhbHNlPihcblx0XHRjb25maWdPcHRpb25zOiBMb2dnZXJGYWN0b3J5T3B0aW9uczxULCBDdXN0b21Pbmx5Pixcblx0KTogKG5hbWU/OiBzdHJpbmcpID0+IExvZ2dlcjxULCBDdXN0b21Pbmx5PiB7XG5cdFx0Y29uc3QgeyBhZGFwdGVyLCBvcHRpb25zIH0gPSBjb25maWdPcHRpb25zO1xuXHRcdGNvbnN0IHByZXZpb3VzID0gdGhpcy5sb2dnZXJQcm92aWRlcjtcblx0XHR0aGlzLmxvZ2dlclByb3ZpZGVyID0gYWRhcHRlcjtcblx0XHRjb25zdCBkZWZhdWx0c0FuZE9wdGlvbnMgPSB0aGlzLm1lcmdlRGVmYXVsdHM8VCwgQ3VzdG9tT25seT4ob3B0aW9ucyk7XG5cdFx0YWRhcHRlci5jb25maWd1cmUoZGVmYXVsdHNBbmRPcHRpb25zKTtcblx0XHRpZiAocHJldmlvdXMgIT09IGFkYXB0ZXIpIHtcblx0XHRcdHZvaWQgcHJldmlvdXMuc3RvcCgpO1xuXHRcdH1cblx0XHRyZXR1cm4gKG5hbWU/OiBzdHJpbmcpID0+IGFkYXB0ZXIuZ2V0TG9nZ2VyKG5hbWUpIGFzIExvZ2dlcjxULCBDdXN0b21Pbmx5Pjtcblx0fVxuXG5cdHB1YmxpYyBhc3luYyBzdG9wKCk6IFByb21pc2U8dm9pZD4ge1xuXHRcdGF3YWl0IHRoaXMubG9nZ2VyUHJvdmlkZXIuc3RvcCgpO1xuXHR9XG5cblx0cHVibGljIGFzeW5jIFtTeW1ib2wuYXN5bmNEaXNwb3NlXSgpOiBQcm9taXNlPHZvaWQ+IHtcblx0XHRhd2FpdCB0aGlzLnN0b3AoKTtcblx0fVxuXG5cdHB1YmxpYyBnZXRMb2dnZXI8VCBleHRlbmRzIHN0cmluZyA9IG5ldmVyLCBDdXN0b21Pbmx5IGV4dGVuZHMgdHJ1ZSB8IGZhbHNlID0gZmFsc2U+KFxuXHRcdG5hbWU/OiBzdHJpbmcsXG5cdFx0Y3VzdG9tTGV2ZWxzPzoge1xuXHRcdFx0W2xldmVsIGluIFRdOiBudW1iZXI7XG5cdFx0fSxcblx0KTogTG9nZ2VyPFQsIEN1c3RvbU9ubHk+IHtcblx0XHQvLyBJZiBjdXN0b20gbGV2ZWxzIGFyZSBwcm92aWRlZCwgd2UgbmVlZCB0byByZWNvbmZpZ3VyZSB0aGUgYWRhcHRlclxuXHRcdGlmIChjdXN0b21MZXZlbHMpIHtcblx0XHRcdGNvbnN0IGN1cnJlbnRPcHRpb25zID0gdGhpcy5tZXJnZURlZmF1bHRzKHsgY3VzdG9tTGV2ZWxzIH0pO1xuXHRcdFx0dGhpcy5sb2dnZXJQcm92aWRlci5jb25maWd1cmUoY3VycmVudE9wdGlvbnMpO1xuXHRcdH1cblxuXHRcdGNvbnN0IGxvZ2dlciA9IHRoaXMubG9nZ2VyUHJvdmlkZXIuZ2V0TG9nZ2VyKG5hbWUpIGFzIExvZ2dlcjxULCBDdXN0b21Pbmx5Pjtcblx0XHR0aGlzLnN1cHBvcnRzTGV2ZWxzKGN1c3RvbUxldmVscywgbG9nZ2VyKTtcblx0XHRyZXR1cm4gbG9nZ2VyO1xuXHR9XG5cblx0cHJpdmF0ZSBzdXBwb3J0c0xldmVsczxUIGV4dGVuZHMgc3RyaW5nID0gbmV2ZXIsIEN1c3RvbU9ubHkgZXh0ZW5kcyB0cnVlID0gdW5kZWZpbmVkPihcblx0XHRjdXN0b21MZXZlbHM6IHtcblx0XHRcdFtsZXZlbCBpbiBUXTogbnVtYmVyO1xuXHRcdH0sXG5cdFx0bG9nZ2VyOiBMb2dnZXI8VCwgQ3VzdG9tT25seT4sXG5cdCkge1xuXHRcdGlmICghY3VzdG9tTGV2ZWxzKSB7XG5cdFx0XHRyZXR1cm47XG5cdFx0fVxuXG5cdFx0Y29uc3QgbWlzc2luZ0xldmVsID0gT2JqZWN0LmVudHJpZXMoY3VzdG9tTGV2ZWxzKS5maW5kKFxuXHRcdFx0KGtleSkgPT4gIWxvZ2dlci5sb2dMZXZlbHNba2V5LmF0KDApLnRvU3RyaW5nKCldLFxuXHRcdCk7XG5cblx0XHRpZiAobWlzc2luZ0xldmVsICE9IG51bGwpIHtcblx0XHRcdHRocm93IG5ldyBMb2dnaW5nQ29uZmlndXJhdGlvbkVycm9yKFxuXHRcdFx0XHRgQ3VycmVudCBsb2dnZXIgd2FzIG5vdCBjb25maWd1cmVkIGZvciBjdXN0b20gbGV2ZWwgJHttaXNzaW5nTGV2ZWx9LCB2YWxpZCBsZXZlbHMgYXJlOiAke0pTT04uc3RyaW5naWZ5KGxvZ2dlci5sb2dMZXZlbHMpfWAsXG5cdFx0XHQpO1xuXHRcdH1cblx0XHRyZXR1cm4geyBtaXNzaW5nTGV2ZWwgfTtcblx0fVxuXG5cdHByaXZhdGUgbWVyZ2VEZWZhdWx0czxUIGV4dGVuZHMgc3RyaW5nID0gbmV2ZXIsIEN1c3RvbU9ubHkgZXh0ZW5kcyB0cnVlIHwgZmFsc2UgPSBmYWxzZT4oXG5cdFx0b3B0aW9ucz86IFNjcmliZU9wdGlvbnM8VCwgQ3VzdG9tT25seT4sXG5cdCk6IFNjcmliZU9wdGlvbnM8VCwgQ3VzdG9tT25seT4ge1xuXHRcdGNvbnN0IGxvZ0xldmVsID0gcmVzb2x2ZUxvZ0xldmVsKG9wdGlvbnM/LmxvZ0xldmVsKSA/PyBEZWZhdWx0TG9nTGV2ZWw7XG5cdFx0cmV0dXJuIHsgbG9nTGV2ZWwsIHJlZGFjdGlvbnM6IERlZmF1bHRSZWRhY3Rpb25zLCAuLi5vcHRpb25zIH07XG5cdH1cbn1cbiJdLCJuYW1lcyI6WyJDb25zb2xlQWRhcHRlciIsInJlc29sdmVMb2dMZXZlbCIsIkxvZ2dpbmdDb25maWd1cmF0aW9uRXJyb3IiLCJEZWZhdWx0TG9nTGV2ZWwiLCJEZWZhdWx0UmVkYWN0aW9ucyIsInNjcmliZSIsImxvZ2dlclByb3ZpZGVyIiwiaW5zdGFuY2UiLCJsb2dnZXIiLCJuYW1lIiwiY3VzdG9tTGV2ZWxzIiwiZ2V0TG9nZ2VyIiwiY29uZmlndXJlIiwiY29uZmlnT3B0aW9ucyIsInByZXZpb3VzIiwiZmFjdG9yeSIsInN0b3AiLCJmbHVzaCIsImNiIiwiZGVmYXVsdE9wdGlvbnMiLCJtZXJnZURlZmF1bHRzIiwiYWRhcHRlciIsIm9wdGlvbnMiLCJkZWZhdWx0c0FuZE9wdGlvbnMiLCJTeW1ib2wiLCJhc3luY0Rpc3Bvc2UiLCJjdXJyZW50T3B0aW9ucyIsInN1cHBvcnRzTGV2ZWxzIiwibWlzc2luZ0xldmVsIiwiT2JqZWN0IiwiZW50cmllcyIsImZpbmQiLCJrZXkiLCJsb2dMZXZlbHMiLCJhdCIsInRvU3RyaW5nIiwiSlNPTiIsInN0cmluZ2lmeSIsImxvZ0xldmVsIiwicmVkYWN0aW9ucyJdLCJtYXBwaW5ncyI6IkFBQUEsU0FBU0EsY0FBYyxRQUFRLHVCQUF1QjtBQUN0RCxTQUFTQyxlQUFlLFFBQVEsV0FBVztBQUMzQyxTQUFTQyx5QkFBeUIsUUFBUSxjQUFjO0FBR3hELFNBQVNDLGVBQWUsRUFBRUMsaUJBQWlCLFFBQTRCLGFBQWE7QUFVcEYsT0FBTyxNQUFNQztJQUNKQyxlQUE4QjtJQUN0QyxPQUFlQyxXQUFtQixJQUFJRixTQUFTO0lBRS9DLE9BQWNHLE9BQ2JDLElBQWEsRUFDYkMsWUFFQyxFQUN1QjtRQUN4QixPQUFPTCxPQUFPRSxRQUFRLENBQUNJLFNBQVMsQ0FBZ0JGLE1BQU1DO0lBSXZEO0lBRUEsT0FBY0UsVUFDYkMsYUFBa0QsRUFDakQ7UUFDRCxNQUFNQyxXQUFXVCxPQUFPRSxRQUFRO1FBQ2hDRixPQUFPRSxRQUFRLEdBQUcsSUFBSUY7UUFDdEIsTUFBTVUsVUFBVVYsT0FBT0UsUUFBUSxDQUFDSyxTQUFTLENBQWdCQztRQUN6RCwwRUFBMEU7UUFDMUUsNEVBQTRFO1FBQzVFLEtBQUtDLFNBQVNFLElBQUk7UUFDbEIsT0FBT0Q7SUFDUjtJQUVBLE9BQWNFLE1BQU1DLEVBQWUsRUFBUTtRQUMxQ2IsT0FBT0UsUUFBUSxDQUFDRCxjQUFjLENBQUNXLEtBQUssQ0FBQ0M7SUFDdEM7SUFFQSxpRUFBaUUsR0FDakUsYUFBb0JGLE9BQXNCO1FBQ3pDLE1BQU1YLE9BQU9FLFFBQVEsQ0FBQ1MsSUFBSTtJQUMzQjtJQUVBLGFBQXFCO1FBQ3BCLDBDQUEwQztRQUMxQyxJQUFJLENBQUNWLGNBQWMsR0FBRyxJQUFJTjtRQUMxQixNQUFNbUIsaUJBQWlCLElBQUksQ0FBQ0MsYUFBYTtRQUN6QyxJQUFJLENBQUNkLGNBQWMsQ0FBQ00sU0FBUyxDQUFDTztJQUMvQjtJQUVPUCxVQUNOQyxhQUFrRCxFQUNQO1FBQzNDLE1BQU0sRUFBRVEsT0FBTyxFQUFFQyxPQUFPLEVBQUUsR0FBR1Q7UUFDN0IsTUFBTUMsV0FBVyxJQUFJLENBQUNSLGNBQWM7UUFDcEMsSUFBSSxDQUFDQSxjQUFjLEdBQUdlO1FBQ3RCLE1BQU1FLHFCQUFxQixJQUFJLENBQUNILGFBQWEsQ0FBZ0JFO1FBQzdERCxRQUFRVCxTQUFTLENBQUNXO1FBQ2xCLElBQUlULGFBQWFPLFNBQVM7WUFDekIsS0FBS1AsU0FBU0UsSUFBSTtRQUNuQjtRQUNBLE9BQU8sQ0FBQ1AsT0FBa0JZLFFBQVFWLFNBQVMsQ0FBQ0Y7SUFDN0M7SUFFQSxNQUFhTyxPQUFzQjtRQUNsQyxNQUFNLElBQUksQ0FBQ1YsY0FBYyxDQUFDVSxJQUFJO0lBQy9CO0lBRUEsTUFBYSxDQUFDUSxPQUFPQyxZQUFZLENBQUMsR0FBa0I7UUFDbkQsTUFBTSxJQUFJLENBQUNULElBQUk7SUFDaEI7SUFFT0wsVUFDTkYsSUFBYSxFQUNiQyxZQUVDLEVBQ3VCO1FBQ3hCLG9FQUFvRTtRQUNwRSxJQUFJQSxjQUFjO1lBQ2pCLE1BQU1nQixpQkFBaUIsSUFBSSxDQUFDTixhQUFhLENBQUM7Z0JBQUVWO1lBQWE7WUFDekQsSUFBSSxDQUFDSixjQUFjLENBQUNNLFNBQVMsQ0FBQ2M7UUFDL0I7UUFFQSxNQUFNbEIsU0FBUyxJQUFJLENBQUNGLGNBQWMsQ0FBQ0ssU0FBUyxDQUFDRjtRQUM3QyxJQUFJLENBQUNrQixjQUFjLENBQUNqQixjQUFjRjtRQUNsQyxPQUFPQTtJQUNSO0lBRVFtQixlQUNQakIsWUFFQyxFQUNERixNQUE2QixFQUM1QjtRQUNELElBQUksQ0FBQ0UsY0FBYztZQUNsQjtRQUNEO1FBRUEsTUFBTWtCLGVBQWVDLE9BQU9DLE9BQU8sQ0FBQ3BCLGNBQWNxQixJQUFJLENBQ3JELENBQUNDLE1BQVEsQ0FBQ3hCLE9BQU95QixTQUFTLENBQUNELElBQUlFLEVBQUUsQ0FBQyxHQUFHQyxRQUFRLEdBQUc7UUFHakQsSUFBSVAsZ0JBQWdCLE1BQU07WUFDekIsTUFBTSxJQUFJMUIsMEJBQ1QsQ0FBQyxtREFBbUQsRUFBRTBCLGFBQWEsb0JBQW9CLEVBQUVRLEtBQUtDLFNBQVMsQ0FBQzdCLE9BQU95QixTQUFTLEdBQUc7UUFFN0g7UUFDQSxPQUFPO1lBQUVMO1FBQWE7SUFDdkI7SUFFUVIsY0FDUEUsT0FBc0MsRUFDUDtRQUMvQixNQUFNZ0IsV0FBV3JDLGdCQUFnQnFCLFNBQVNnQixhQUFhbkM7UUFDdkQsT0FBTztZQUFFbUM7WUFBVUMsWUFBWW5DO1lBQW1CLEdBQUdrQixPQUFPO1FBQUM7SUFDOUQ7QUFDRCJ9
|
package/package.json
CHANGED
|
@@ -1,15 +1,22 @@
|
|
|
1
1
|
import type { Logger } from "./logger.type.js";
|
|
2
2
|
import { type ScribeOptions } from "./types.js";
|
|
3
3
|
export declare function formatError(err: Error): string;
|
|
4
|
-
export interface LoggerAdapter {
|
|
4
|
+
export interface LoggerAdapter extends AsyncDisposable {
|
|
5
5
|
configure<T extends string = never, CustomOnly extends true | false = false>(options: ScribeOptions<T, CustomOnly>): any;
|
|
6
6
|
getLogger<T extends string = never, CustomOnly extends true | false = false>(name: string): Logger<T, CustomOnly>;
|
|
7
7
|
flush(cb?: () => void): void;
|
|
8
|
+
/**
|
|
9
|
+
* Drain buffered output and release unmanaged handles (workers, fds).
|
|
10
|
+
* Idempotent — safe to call more than once.
|
|
11
|
+
*/
|
|
12
|
+
stop(): Promise<void>;
|
|
8
13
|
}
|
|
9
14
|
export declare abstract class LogAdapter implements LoggerAdapter {
|
|
10
15
|
abstract configure<T extends string = never, CustomOnly extends true | false = false>(options: ScribeOptions<T, CustomOnly>): any;
|
|
11
16
|
abstract getLogger<T extends string = never, CustomOnly extends true | false = false>(name: string): Logger<T, CustomOnly>;
|
|
12
17
|
flush(cb?: () => void): void;
|
|
18
|
+
stop(): Promise<void>;
|
|
19
|
+
[Symbol.asyncDispose](): Promise<void>;
|
|
13
20
|
protected getLogLevels(options: ScribeOptions<any, any>): Record<string, number>;
|
|
14
21
|
protected getUniqueLevels(defaultLevels: Record<string, number>, customLevels: Record<string, number>): [string, number][];
|
|
15
22
|
}
|
|
@@ -5,7 +5,7 @@ type LoggerFactoryOptions<T extends string = never, CustomOnly extends true | fa
|
|
|
5
5
|
options?: ScribeOptions<T, CustomOnly>;
|
|
6
6
|
adapter: LoggerAdapter;
|
|
7
7
|
};
|
|
8
|
-
export declare class scribe {
|
|
8
|
+
export declare class scribe implements AsyncDisposable {
|
|
9
9
|
private loggerProvider;
|
|
10
10
|
private static instance;
|
|
11
11
|
static logger<T extends string = never, CustomOnly extends true | false = false>(name?: string, customLevels?: {
|
|
@@ -13,8 +13,12 @@ export declare class scribe {
|
|
|
13
13
|
}): Logger<T, CustomOnly>;
|
|
14
14
|
static configure<T extends string = never, CustomOnly extends true | false = false>(configOptions: LoggerFactoryOptions<T, CustomOnly>): (name?: string) => Logger<T, CustomOnly>;
|
|
15
15
|
static flush(cb?: () => void): void;
|
|
16
|
+
/** Drain the active adapter and release workers / destinations. */
|
|
17
|
+
static stop(): Promise<void>;
|
|
16
18
|
constructor();
|
|
17
19
|
configure<T extends string = never, CustomOnly extends true | false = false>(configOptions: LoggerFactoryOptions<T, CustomOnly>): (name?: string) => Logger<T, CustomOnly>;
|
|
20
|
+
stop(): Promise<void>;
|
|
21
|
+
[Symbol.asyncDispose](): Promise<void>;
|
|
18
22
|
getLogger<T extends string = never, CustomOnly extends true | false = false>(name?: string, customLevels?: {
|
|
19
23
|
[level in T]: number;
|
|
20
24
|
}): Logger<T, CustomOnly>;
|