首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >winston终止节点进程

winston终止节点进程
EN

Stack Overflow用户
提问于 2016-03-08 11:17:01
回答 2查看 339关注 0票数 1

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

我的logger.js是:

代码语言:javascript
复制
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')
};

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

EN

回答 2

Stack Overflow用户

发布于 2016-03-08 15:10:49

我假设在做完npm install winston-daily-rotate-file --save之后

代码语言:javascript
复制
var DailyRotateFile = require('winston-daily-rotate-file');

在……里面

代码语言:javascript
复制
module.exports = {
    debugLogger : logger.loggers.get('debugLogger'),
    keyLogger : logger.loggers.get('dropped-key')
};

您写入的调试记录器传输模块的名称不正确。它将是debug-file

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

相应地,代码将是:

代码语言:javascript
复制
module.exports = {
  debugLogger : logger.transports['debug-file'],
  keyLogger : logger.transports['dropped-key']
};

您的节点卡在module.exports部件中。替换它,它将运行...

票数 2
EN

Stack Overflow用户

发布于 2016-03-23 01:46:00

要在单独的记录器/文件中使用多个传输,您可以使用类别。

检查https://github.com/winstonjs/winston#working-with-multiple-loggers-in-winston

代码语言:javascript
复制
winston.loggers.add('cat-dropped',{
  transports:[
    new DailyRotateFile({
      name: 'dropped-key',
      datePattern: '.yyyy-MM-ddTHH',
      filename: path.join(__dirname, "droppedKeyLog", "log_file.log"),
      level: 'silly'
    })
  ]
});

winston.loggers.add('cat-debug',{
  transports:[
   new DailyRotateFile({
        name: 'debug-file',
        datePattern: '.yyyy-MM-ddTHH',
        filename: path.join(__dirname, "debugLog", "log_file.log"),
        level: 'debug'
    })
  ]
});

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

在此之后,您可以获得记录器。

代码语言:javascript
复制
var droppedLogger = winston.loggers.get('cat-dropped');
var debugLogger = winston.loggers.get('cat-debug');

droppedLogger.info('');
debugLogger.debug('');

如果仍未创建日志文件,请检查filename的路径,文件夹日志应已创建

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35858279

复制
相关文章

相似问题

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