Este es mi archivo de configuración de winston:
import winston from "winston"; const alignColorsAndTime = winston.format.combine( winston.format.colorize({ all: true, }), winston.format.label({ label: "[LOGGER]", }), winston.format.timestamp({ format: "YYYY-MM-DD HH:mm:ss", }), winston.format.printf( (info) => `${info.label} ${info.timestamp} ${info.level} : ${info.message}` ) ); export const logger = winston.createLogger({ level: "debug", transports: [ new winston.transports.Console({ format: winston.format.combine( winston.format.colorize(), alignColorsAndTime ), }), new winston.transports.File({ filename: "logs/example.log", format: winston.format.combine( winston.format.timestamp({ format: "YYYY-MM-DD HH:mm:ss", }) ), }), ], });El problema es que el archivo de registro guardado no tiene marca de tiempo:
{"level":"info","message":"asd"}¿Cómo puedo agregar una marca de tiempo al archivo de registro guardado por winston?
winston.format.printf( (info) => `${info.label} [${new Date(info.timestamp).toISOString()}] ${info.level} : ${info.message}` )Resolví el problema con formatos.json() así:
export const logger = winston.createLogger({ level: "debug", transports: [ new winston.transports.Console({ format: winston.format.combine( winston.format.colorize(), alignColorsAndTime ), }), new winston.transports.File({ filename: "logs/example.log", format: winston.format.combine( winston.format.timestamp({ format: "YYYY-MM-DD HH:mm:ss", }), winston.format.json() ), }), ], });