@jsprismarine/logger
Version:
JSPrismarine logger and utilities
41 lines (40 loc) • 3.18 kB
JavaScript
;
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
const require_runtime = require("./_virtual/_rolldown/runtime.cjs.cjs");
let winston_transport = require("winston-transport");
winston_transport = require_runtime.__toESM(winston_transport, 1);
//#region src/transport.ts
/**
* Custom winston transport adapted for the JSPrismarine console.
* @class
* @public
* @example
* ```typescript
* createLogger({
* transports: [
* new PrismarineTransport({ ...transports });
* ]
* });
* ```
*/
var PrismarineTransport = class extends winston_transport.default {
console;
buffer = [];
log(info, next) {
if (!this.console) {
this.buffer.push(info);
return next();
}
try {
if (this.buffer.length > 0) {
for (const message of this.buffer) this.console.write(message[Symbol.for("message")]);
this.buffer = [];
}
this.console.write(info[Symbol.for("message")]);
} catch {}
return next();
}
};
//#endregion
exports.PrismarineTransport = PrismarineTransport;
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNwb3J0LmNqcy5janMiLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiLi4vc3JjL3RyYW5zcG9ydC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgVHJhbnNwb3J0IGZyb20gJ3dpbnN0b24tdHJhbnNwb3J0JztcblxuZXhwb3J0IHR5cGUgQ29uc29sZUxpa2UgPSB7XG4gICAgd3JpdGU6IChpbnB1dDogc3RyaW5nKSA9PiB2b2lkO1xufTtcblxuLyoqXG4gKiBDdXN0b20gd2luc3RvbiB0cmFuc3BvcnQgYWRhcHRlZCBmb3IgdGhlIEpTUHJpc21hcmluZSBjb25zb2xlLlxuICogQGNsYXNzXG4gKiBAcHVibGljXG4gKiBAZXhhbXBsZVxuICogYGBgdHlwZXNjcmlwdFxuICogY3JlYXRlTG9nZ2VyKHtcbiAqICAgICB0cmFuc3BvcnRzOiBbXG4gKiAgICAgICAgIG5ldyBQcmlzbWFyaW5lVHJhbnNwb3J0KHsgLi4udHJhbnNwb3J0cyB9KTtcbiAqICAgICBdXG4gKiB9KTtcbiAqIGBgYFxuICovXG5leHBvcnQgY2xhc3MgUHJpc21hcmluZVRyYW5zcG9ydCBleHRlbmRzIFRyYW5zcG9ydCB7XG4gICAgcHVibGljIGNvbnNvbGU6IENvbnNvbGVMaWtlIHwgdW5kZWZpbmVkO1xuICAgIHByaXZhdGUgYnVmZmVyOiBhbnlbXSA9IFtdO1xuXG4gICAgcHVibGljIGxvZyhpbmZvOiBhbnksIG5leHQ6ICgpID0+IHZvaWQpOiBhbnkge1xuICAgICAgICBpZiAoIXRoaXMuY29uc29sZSkge1xuICAgICAgICAgICAgdGhpcy5idWZmZXIucHVzaChpbmZvKTtcblxuICAgICAgICAgICAgcmV0dXJuIG5leHQoKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgICBpZiAodGhpcy5idWZmZXIubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgICAgIGZvciAoY29uc3QgbWVzc2FnZSBvZiB0aGlzLmJ1ZmZlcikge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmNvbnNvbGUud3JpdGUobWVzc2FnZVtTeW1ib2wuZm9yKCdtZXNzYWdlJyldKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgdGhpcy5idWZmZXIgPSBbXTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgdGhpcy5jb25zb2xlLndyaXRlKGluZm9bU3ltYm9sLmZvcignbWVzc2FnZScpXSk7XG4gICAgICAgIH0gY2F0Y2gge31cblxuICAgICAgICByZXR1cm4gbmV4dCgpO1xuICAgIH1cbn1cbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQW1CQSxJQUFhLHNCQUFiLGNBQXlDLGtCQUFBLFFBQVU7Q0FDL0M7Q0FDQSxTQUF3QixDQUFDO0NBRXpCLElBQVcsTUFBVyxNQUF1QjtFQUN6QyxJQUFJLENBQUMsS0FBSyxTQUFTO0dBQ2YsS0FBSyxPQUFPLEtBQUssSUFBSTtHQUVyQixPQUFPLEtBQUs7RUFDaEI7RUFFQSxJQUFJO0dBQ0EsSUFBSSxLQUFLLE9BQU8sU0FBUyxHQUFHO0lBQ3hCLEtBQUssTUFBTSxXQUFXLEtBQUssUUFDdkIsS0FBSyxRQUFRLE1BQU0sUUFBUSxPQUFPLElBQUksU0FBUyxFQUFFO0lBRXJELEtBQUssU0FBUyxDQUFDO0dBQ25CO0dBRUEsS0FBSyxRQUFRLE1BQU0sS0FBSyxPQUFPLElBQUksU0FBUyxFQUFFO0VBQ2xELFFBQVEsQ0FBQztFQUVULE9BQU8sS0FBSztDQUNoQjtBQUNKIn0=