Files
SnowLuma/.pnpm-store/v11/files/b4/7e78e6287d3d0daaa182720fab4ace5869c73176373f4a00d3d1390e81b19e5d31564541b6d645ab9aa2ac8c4ed6a2f6fac8803c1138d5a664f33e062195aa
T
TanTan 2a69b23b47
Dev Build / cleanup (push) Waiting to run
Dev Build / typecheck (push) Waiting to run
docs: 仓库链接指向本镜像仓库
2026-11-13 09:27:07 +08:00

32 lines
786 B
Plaintext

import { ConsoleAppender, basicLogPrefix } from "base-log-factory";
import pc from "picocolors";
import { colors } from "./colors.mjs";
class ColorfulAppender extends ConsoleAppender {
/**
* Constructor (构造函数)
*/
constructor(opts = {}) {
super(opts.layout);
this.name = "colorful";
this.colors = opts.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(basicLogPrefix(event, this.dateFormat), event), ...event.message);
}
}
color(str, event) {
return pc[this.colors[event.level]](str);
}
}
export {
ColorfulAppender
};