32 lines
913 B
Plaintext
32 lines
913 B
Plaintext
"use strict";
|
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
const baseLogFactory = require("base-log-factory");
|
|
const pc = require("picocolors");
|
|
const colors = require("./colors.js");
|
|
class ColorfulAppender extends baseLogFactory.ConsoleAppender {
|
|
/**
|
|
* Constructor (构造函数)
|
|
*/
|
|
constructor(opts = {}) {
|
|
super(opts.layout);
|
|
this.name = "colorful";
|
|
this.colors = opts.colors || colors.colors;
|
|
}
|
|
/**
|
|
* Write log (写入日志)
|
|
* @param event Log event (日志事件)
|
|
*/
|
|
write(event) {
|
|
const { layout } = this;
|
|
if (layout) {
|
|
console.log(this.color(layout.format(event), event));
|
|
} else {
|
|
console.log(this.color(baseLogFactory.basicLogPrefix(event, this.dateFormat), event), ...event.message);
|
|
}
|
|
}
|
|
color(str, event) {
|
|
return pc[this.colors[event.level]](str);
|
|
}
|
|
}
|
|
exports.ColorfulAppender = ColorfulAppender;
|