UNPKG

@jsprismarine/logger

Version:
37 lines (36 loc) 2.89 kB
import Transport from "winston-transport"; //#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 Transport { 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 export { PrismarineTransport }; //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNwb3J0LmVzLmpzIiwibmFtZXMiOltdLCJzb3VyY2VzIjpbIi4uL3NyYy90cmFuc3BvcnQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFRyYW5zcG9ydCBmcm9tICd3aW5zdG9uLXRyYW5zcG9ydCc7XG5cbmV4cG9ydCB0eXBlIENvbnNvbGVMaWtlID0ge1xuICAgIHdyaXRlOiAoaW5wdXQ6IHN0cmluZykgPT4gdm9pZDtcbn07XG5cbi8qKlxuICogQ3VzdG9tIHdpbnN0b24gdHJhbnNwb3J0IGFkYXB0ZWQgZm9yIHRoZSBKU1ByaXNtYXJpbmUgY29uc29sZS5cbiAqIEBjbGFzc1xuICogQHB1YmxpY1xuICogQGV4YW1wbGVcbiAqIGBgYHR5cGVzY3JpcHRcbiAqIGNyZWF0ZUxvZ2dlcih7XG4gKiAgICAgdHJhbnNwb3J0czogW1xuICogICAgICAgICBuZXcgUHJpc21hcmluZVRyYW5zcG9ydCh7IC4uLnRyYW5zcG9ydHMgfSk7XG4gKiAgICAgXVxuICogfSk7XG4gKiBgYGBcbiAqL1xuZXhwb3J0IGNsYXNzIFByaXNtYXJpbmVUcmFuc3BvcnQgZXh0ZW5kcyBUcmFuc3BvcnQge1xuICAgIHB1YmxpYyBjb25zb2xlOiBDb25zb2xlTGlrZSB8IHVuZGVmaW5lZDtcbiAgICBwcml2YXRlIGJ1ZmZlcjogYW55W10gPSBbXTtcblxuICAgIHB1YmxpYyBsb2coaW5mbzogYW55LCBuZXh0OiAoKSA9PiB2b2lkKTogYW55IHtcbiAgICAgICAgaWYgKCF0aGlzLmNvbnNvbGUpIHtcbiAgICAgICAgICAgIHRoaXMuYnVmZmVyLnB1c2goaW5mbyk7XG5cbiAgICAgICAgICAgIHJldHVybiBuZXh0KCk7XG4gICAgICAgIH1cblxuICAgICAgICB0cnkge1xuICAgICAgICAgICAgaWYgKHRoaXMuYnVmZmVyLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgICAgICBmb3IgKGNvbnN0IG1lc3NhZ2Ugb2YgdGhpcy5idWZmZXIpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5jb25zb2xlLndyaXRlKG1lc3NhZ2VbU3ltYm9sLmZvcignbWVzc2FnZScpXSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHRoaXMuYnVmZmVyID0gW107XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHRoaXMuY29uc29sZS53cml0ZShpbmZvW1N5bWJvbC5mb3IoJ21lc3NhZ2UnKV0pO1xuICAgICAgICB9IGNhdGNoIHt9XG5cbiAgICAgICAgcmV0dXJuIG5leHQoKTtcbiAgICB9XG59XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7OztBQW1CQSxJQUFhLHNCQUFiLGNBQXlDLFVBQVU7Q0FDL0M7Q0FDQSxTQUF3QixDQUFDO0NBRXpCLElBQVcsTUFBVyxNQUF1QjtFQUN6QyxJQUFJLENBQUMsS0FBSyxTQUFTO0dBQ2YsS0FBSyxPQUFPLEtBQUssSUFBSTtHQUVyQixPQUFPLEtBQUs7RUFDaEI7RUFFQSxJQUFJO0dBQ0EsSUFBSSxLQUFLLE9BQU8sU0FBUyxHQUFHO0lBQ3hCLEtBQUssTUFBTSxXQUFXLEtBQUssUUFDdkIsS0FBSyxRQUFRLE1BQU0sUUFBUSxPQUFPLElBQUksU0FBUyxFQUFFO0lBRXJELEtBQUssU0FBUyxDQUFDO0dBQ25CO0dBRUEsS0FBSyxRQUFRLE1BQU0sS0FBSyxPQUFPLElBQUksU0FBUyxFQUFFO0VBQ2xELFFBQVEsQ0FBQztFQUVULE9BQU8sS0FBSztDQUNoQjtBQUNKIn0=