Регистрация узлов js - winston.Logger не является конструктором - PullRequest
0 голосов
/ 29 июня 2018

Я применяю регистратор в приложении js узла, используя Winston, но получаю winston.Logger не является конструктором. Я перехожу по ссылке ниже

http://thisdavej.com/using-winston-a-versatile-logging-library-for-node-js/

Ответы [ 2 ]

0 голосов
/ 11 июля 2018

Вы получаете эту ошибку, потому что winston.Logger был изменен на winston.createLogger. Обновление вашего кода для использования .createLogger должно исправить вашу проблему.

См. Эту документацию https://github.com/winstonjs/winston#usage

0 голосов
/ 29 июня 2018

Попробуйте что-то вроде приведенного ниже кода, оно должно работать (это могло произойти, так как вы использовали старый код для более новой версии):

const winston = require('winston');
require('winston-daily-rotate-file');

    function getLogger(module) {
        const transport = new winston.transports.DailyRotateFile({
            filename: './logs/log',
            datePattern: 'yyyy-MM-dd.',
            prepend: true,
            level: process.env.ENV === 'development' ? 'silly' : 'error',
        });

        // const logger = new (winston.Logger)({
        //   transports: [
        //     transport,
        //   ],
        // });

        const logger = winston.createLogger({
            transports: [transport],
        });

        return logger;
    }  

Если вы видите закомментированный код, new - это то, что выдает ошибку не являющегося конструктором

...