gpt4 book ai didi

node.js - winston 杀死 Node 进程

转载 作者:太空宇宙 更新时间:2023-11-03 23:33:05 24 4
gpt4 key购买 nike

我将winston logger添加到我的node.js代码中,该代码过去一直运行直到被杀死。添加logger后,进程就死掉了。即使我只是需要记录器而不使用它。

我的 logger.js 是:

var winston     = require ('winston'),
path = require ('path');
var DailyRotateFile = require('winston-daily-rotate-file');

var logger = new (winston.Logger)({
transports: [
new DailyRotateFile({
name: 'dropped-key',
datePattern: '.yyyy-MM-ddTHH',
filename: path.join(__dirname, "droppedKeyLog", "log_file.log"),
level: 'silly'
}),
new DailyRotateFile({
name: 'errorLogger',
datePattern: '.yyyy-MM-ddTHH',
filename: path.join(__dirname, "errorLog", "log_file.log"),
level: 'error'
}),
new DailyRotateFile({
name: 'debug-file',
datePattern: '.yyyy-MM-ddTHH',
filename: path.join(__dirname, "debugLog", "log_file.log"),
level: 'debug'
}),
new (winston.transports.Console)({ level: 'debug' })

],
exceptionHandlers: [
new DailyRotateFile({
name: 'exception-file',
filename: path.join(__dirname, "exceptionLog", "log_file.log"),
datePattern: '.yyyy-MM-ddTHH'
})
]
});

logger.exitOnError = false;

module.exports = {
debugLogger : logger.loggers.get('debugLogger'),
keyLogger : logger.loggers.get('dropped-key')
};

我需要知道为什么会发生这种情况以及如何解决这个问题。

最佳答案

我假设在执行npm install Winston-daily-rotate-file --save

之后
var DailyRotateFile = require('winston-daily-rotate-file');

module.exports = {
debugLogger : logger.loggers.get('debugLogger'),
keyLogger : logger.loggers.get('dropped-key')
};

您所写的调试记录器传输模块的名称不正确。它将是调试文件

您还从 logger.loggers 获取了这些内容。它将来自 logger.transports。

因此代码将是:

module.exports = {
debugLogger : logger.transports['debug-file'],
keyLogger : logger.transports['dropped-key']
};

您的 Node 卡在 module.exports 部分。替换它,它将运行...

关于node.js - winston 杀死 Node 进程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35858279/

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