Javascript 如何在winston papertrail中自定义日志格式?

Javascript 如何在winston papertrail中自定义日志格式?,javascript,typescript,winston,papertrail-app,Javascript,Typescript,Winston,Papertrail App,我正在制作一个基于typescript的应用程序,并试图为带有时间戳和自定义格式的日志实现winston papertrail。问题是,当我安慰它时,它准确地显示了我想要的东西,但在papertrail上,它以一种意想不到的方式显示出来。这是我在打字脚本上的代码 const { Papertrail } = require("winston-papertrail"); const { createLogger, format, transports } = require("winston")

我正在制作一个基于typescript的应用程序,并试图为带有时间戳和自定义格式的日志实现
winston papertrail
。问题是,当我安慰它时,它准确地显示了我想要的东西,但在
papertrail
上,它以一种意想不到的方式显示出来。这是我在打字脚本上的代码

const { Papertrail } = require("winston-papertrail");

const { createLogger, format, transports } = require("winston");
const { combine, timestamp, prettyPrint, printf } = format;

const timezoned = () => {
    return new Date().toLocaleString("en-US", {
        timeZone: "Asia/Kolkata",
    });
};

const myFormat = printf(({ level, message, timestamp }) => {
    return `${timestamp} ${level}: ${message}`;
});
const options = {
    console: {
        level: "debug",

        format: combine(
            timestamp({format: timezoned}),
            myFormat,
        ) ,
    },
};

const winstonPapertrail = new Papertrail({
    host: "logs3.papertrailapp.com",
    port: 32795,

    level: "info",
});

const consoleWinston = new transports.Console(options.console);

export const logger = createLogger({
    transports: [winstonPapertrail, consoleWinston],
});
如何在控制台上获取它(正确的格式):

它是如何在书面记录上显示的:

Oct 26 23:15:50 wolborg default info     { message: 'Fetching offset:16000 count:1000', 
Oct 26 23:15:50 wolborg default info       level: 'info', 
Oct 26 23:15:50 wolborg default info       [Symbol(level)]: 'info', 
Oct 26 23:15:50 wolborg default info       [Symbol(message)]: 
Oct 26 23:15:50 wolborg default info        '{"message":"Fetching offset:16000 count:1000","level":"info"}' } 
Oct 26 23:15:59 wolborg default info Products Fetched 
Oct 26 23:15:59 wolborg default info     { message: 'Products Fetched', 
Oct 26 23:15:59 wolborg default info       level: 'info', 
Oct 26 23:15:59 wolborg default info       [Symbol(level)]: 'info', 
Oct 26 23:15:59 wolborg default info       [Symbol(message)]: '{"message":"Products Fetched","level":"info"}' } 
Oct 26 23:15:59 wolborg default info Indexing Products 
Oct 26 23:15:59 wolborg default info     { message: 'Indexing Products', 
Oct 26 23:15:59 wolborg default info       level: 'info', 
Oct 26 23:15:59 wolborg default info       [Symbol(level)]: 'info', 
Oct 26 23:15:59 wolborg default info       [Symbol(message)]: '{"message":"Indexing Products","level":"info"}' }

你没有提供书面文件传输的格式,为什么这会出乎意料?我应该如何提供格式,请告诉我他们的文档怎么说?我想这与你设置另一个传输的方式类似。这就是我要问的,我是否提供格式,以便日志可以在一行中打印?你没有向纸质传输提供格式,为什么这会出乎意料?我应该如何提供格式,请告诉我他们的文档怎么说?我想这与设置另一个传输的方式类似。这就是我要问的,我是否提供格式,以便日志以单行打印
Oct 26 23:15:50 wolborg default info     { message: 'Fetching offset:16000 count:1000', 
Oct 26 23:15:50 wolborg default info       level: 'info', 
Oct 26 23:15:50 wolborg default info       [Symbol(level)]: 'info', 
Oct 26 23:15:50 wolborg default info       [Symbol(message)]: 
Oct 26 23:15:50 wolborg default info        '{"message":"Fetching offset:16000 count:1000","level":"info"}' } 
Oct 26 23:15:59 wolborg default info Products Fetched 
Oct 26 23:15:59 wolborg default info     { message: 'Products Fetched', 
Oct 26 23:15:59 wolborg default info       level: 'info', 
Oct 26 23:15:59 wolborg default info       [Symbol(level)]: 'info', 
Oct 26 23:15:59 wolborg default info       [Symbol(message)]: '{"message":"Products Fetched","level":"info"}' } 
Oct 26 23:15:59 wolborg default info Indexing Products 
Oct 26 23:15:59 wolborg default info     { message: 'Indexing Products', 
Oct 26 23:15:59 wolborg default info       level: 'info', 
Oct 26 23:15:59 wolborg default info       [Symbol(level)]: 'info', 
Oct 26 23:15:59 wolborg default info       [Symbol(message)]: '{"message":"Indexing Products","level":"info"}' }