Уинстон не пишет в файл - PullRequest
0 голосов
/ 16 декабря 2018

Я хочу регистрировать ошибки в файле в приложении, созданном с помощью nodeJS и Express.После нескольких поисков я обнаружил, что Winston - хорошая библиотека для этого.Я нашел этот учебник .

Но когда я пытаюсь winston.error('test'), сообщение появляется в консоли, но файл журнала не создается (поэтому в нем ничего нет).Я искал на этом сайте и нашел этот вопрос , который похож на мой, но я не могу определить разницу между ответом и моим кодом.

Это мой код:

// 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')
...
...