gpt4 book ai didi

node.js - 如何从 morgan logger 中删除日志文件中生成的空行?

转载 作者:搜寻专家 更新时间:2023-11-01 00:21:35 25 4
gpt4 key购买 nike

我在输出中得到空行,如下所示我在这里结合使用 morgan 和 winston 来登录文件如何避免那些空行?

//logger 
const logger = new winston.Logger({
transports: [
new winston.transports.File({
filename: './logs/dca_ui.log',
handleExceptions: true,
json: false,
maxsize: MAX_SIZE_LOG,
maxFiles: MAX_LOG_FILES,
colorize: false,
}),
],
exitOnError: false,
});

//writestream
const stream = {
write: (message, encoding) => {
logger.info(message);
},
};

app.use((morgan(':date :status :method :url :response-time', { stream: stream })));

输出:

5 2016-11-15T04:21:18.981Z - info: Tue, 15 Nov 2016 04:21:18 GMT 200 GET /index.js 4.539
6
7 2016-11-15T04:21:19.786Z - info: Tue, 15 Nov 2016 04:21:19 GMT 200 GET /urest/v1/template?start=0&count=20&sort=templateName:asc 106.379
8
9 2016-11-15T04:21:22.835Z - info: Tue, 15 Nov 2016 04:21:22 GMT 200 GET /urest/v1/template/7b4ca205-7b75-459c-81f1-a61fc8b6be69?view=condense 122.692

最佳答案

morgan 在流的末尾添加了\n - 新行。如果你记录这个,你可以看到它:logger.info(JSON.stringify(message));

所以要删除它,你需要这样的东西:

//writestream
const stream = {
write: (message, encoding) => {
logger.info(message.substring(0,message.lastIndexOf('\n')));
},
};

这是关于它的讨论: https://github.com/expressjs/morgan/issues/70

关于node.js - 如何从 morgan logger 中删除日志文件中生成的空行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40602106/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com