首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何处理nodejs中的..Unhandled“错误”事件

如何处理nodejs中的..Unhandled“错误”事件
EN

Stack Overflow用户
提问于 2016-01-09 15:04:56
回答 1查看 4.3K关注 0票数 1

下面是错误,而且我也知道它是抛出的,因为server.log文件不存在。

但是我想知道的是如何像unCaughtException那样以编程的方式处理这个错误,例如

代码语言:javascript
复制
process.on('unCaughtException', function(err){
    logger.error(err1)
})

下面是错误,我得到:

代码语言:javascript
复制
events.js:141
  throw er; // Unhandled 'error' event
  ^

Error: ENOTDIR: not a directory, stat '../logs/server.log'
at Error (native)

下面是..that抛出此错误的实际代码。

代码语言:javascript
复制
module.exports = new winston.Logger({
transports: [
new winston.transports.File({
  level: 'info',
  filename: '../logs/server.log',
  json: false,
  maxsize: 5242880, //5MB
  maxFiles: 2,
  colorize: false
}),
new winston.transports.Console({
  level: 'debug',
  json: false,
  colorize: true
})
],
exitOnError: false
});
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-01-09 15:34:09

从代码判断,您使用的事件发射器在发生错误时发出error事件,在这种情况下,您需要侦听这些事件:

代码语言:javascript
复制
someLibrary({ logfile : '../logs/server.log' }).on('error', function(err) {
  ...handle the error...
});

更多信息,这里

编辑:在温斯顿的特定情况下,应该将一个error事件处理程序附加到传输实例:

代码语言:javascript
复制
module.exports = new winston.Logger({
  transports: [
    new winston.transports.File({
      level: 'info',
      filename: '../logs/server.log',
      json: false,
      maxsize: 5242880, //5MB
      maxFiles: 2,
      colorize: false
    }).on('error', function(err) {
      console.error(err.stack);
    }),
    new winston.transports.Console({
      level: 'debug',
      json: false,
      colorize: true
    })
  ],
  exitOnError: false
});
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34695065

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档