Я создал модуль регистрации, который использует Winston. Я пытаюсь отформатировать журналы так, чтобы они имели цветовую кодировку. Однако это портит мои журналы со следующим выводом.
{"message":"Server Running On: localhost:3000","level":"\u001b[32minfo\u001b[39m","timestamp":"2018-06-30 19:20:09"}
{"message":"MongoDB Successfully Connected On: mongodb://localhost:27017/project","level":"\u001b[32minfo\u001b[39m","timestamp":"2018-06-30 19:20:09"}
Можете ли вы увидеть строки \ u .... Журналы также не имеют цветовой кодировки. Как моя конфигурация неверна. Я использую Winston 3. Пожалуйста, смотрите код ниже.
import { createLogger, transports, format } from "winston";
import * as appRoot from "app-root-path";
class Logger {
public logger: any;
constructor() {
const options = {
file: {
level: "info",
filename: `${appRoot}/logs/app.log`,
handleExceptions: true,
json: true,
maxsize: 5242880, // 5MB
maxFiles: 5,
colorize: true,
},
console: {
level: "debug",
handleExceptions: true,
json: false,
colorize: true,
},
exceptionHandlers: {
filename: `${appRoot}/logs/exceptions.log`,
},
};
this.logger = createLogger({
format: format.combine(
format.simple(),
format.timestamp({
format: "YYYY-MM-DD HH:mm:ss",
}),
format.colorize(),
format.json(),
),
transports: [
new transports.File(options.file),
new transports.Console(options.console),
],
exceptionHandlers: [
new transports.File(options.exceptionHandlers),
],
// do not exit on handled exceptions
exitOnError: false,
});
}
}
export default new Logger().logger;