簡體   English   中英

如何使用 winston 和 simple() 獲得自定義 output?

[英]How can I get a custom output using winston in combination with simple()?

我正在嘗試使用 winston 獲得以下格式: 2020-01-01 [INFO]: test the level part colorized,而不是我得到

info: test

我怎樣才能得到我正在尋找的格式?

import winston from "winston";

const format = winston.format.combine(
  winston.format.align(),
  winston.format.colorize(),
  winston.format.errors({ stack: true }),
  winston.format.printf(
    ({ level, message }) => `[${level.toUpperCase()}]: ${message}`
  ),
  winston.format.simple(),
  winston.format.timestamp({ format: "YYYY-MM-DD HH:mm:ss" })
);

export const logger = winston.createLogger({
  level: process.env.NODE_ENV === "production" ? "info" : "debug",
  transports: [new winston.transports.Console({ format })],
});

使用以下修復

import winston from "winston";

const format = winston.format.combine(
  winston.format(info => ({ ...info, level: info.level.toUpperCase() }))(),
  winston.format.align(),
  winston.format.colorize(),
  winston.format.errors({ stack: true }),
  winston.format.prettyPrint(),
  winston.format.simple(),
  winston.format.splat(),
  winston.format.timestamp({ format: "YYYY-MM-DD HH:mm:ss" }),
  winston.format.printf(
    ({ timestamp, level, message }) => `${timestamp} [${level}]: ${message}`
  )
);

export const logger = winston.createLogger({
  level: process.env.NODE_ENV === "production" ? "info" : "debug",
  transports: [new winston.transports.Console({ format })],
});

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM