温斯顿不写入文件

时间:2018-12-16 18:22:27

标签: node.js express winston

我想在使用nodeJS和Express制作的应用程序中的文件中记录错误。经过几次搜索,我发现Winston是一个很好的库。我找到了this tutorial

但是当我尝试winston.error('test')时,消息在控制台中,但是未创建日志文件(因此其中没有任何内容)。我在该网站上进行搜索,发现this question看起来和我的相似,但是我找不到答案和代码之间的区别。

这是我的代码:

// src/config/winston.js

const appRoot = require('app-root-path')
const winston = require('winston')

let options = {
  file: {
    level: 'error',
    filename: `${appRoot}/logs/error.log`,
    handleExceptions: true,
    json: true,
    maxsize: 5242880, // 5MB
    maxFiles: 5,
    colorize: false,
  },
  console: {
    level: 'debug',
    handleExceptions: true,
    json: false,
    colorize: true,
  },
}

let logger = winston.createLogger({
  transports: [
    new winston.transports.File(options.file),
    new winston.transports.Console(options.console)
  ],
  exitOnError: false, // do not exit on handled exceptions
})

logger.stream = {
  write: function(message, encoding) {
    logger.error(message);
  },
}

module.exports = logger

我这样做是为了尝试

// src/api/meal_validation.js
...
winston.error('test')
...

0 个答案:

没有答案