Как импортировать NodeJS-зависимость `winston-daily-rotate-file`? - PullRequest
0 голосов
/ 06 июня 2019

Я могу использовать winston-daily-rotate-file зависимость с помощью require.

var DailyRotateFile = require('winston-daily-rotate-file');

Но когда я пытаюсь импортировать, как показано ниже, это не работает. Как это решить?

import * as DailyRotateFile from 'winston-daily-rotate-file';

таможенно-logger.js

import { createLogger, format, transports } from 'winston';
import * as DailyRotateFile from 'winston-daily-rotate-file';
import fs from 'fs';
import path from 'path';

const env = process.env.NODE_ENV || 'development';
const logDir = 'log';
if(!fs.existsSync(logDir)) {
    fs.mkdirSync(logDir);
}

const dailyRotateFileTransport = new DailyRotateFile({
    filename: `${logDir}/%DATE%-results.log`,
    datePattern: 'YYYY-MM-DD',
    maxSize: '1k'
})

const logger = createLogger({
    level: env === 'development' ? 'debug' : 'info',
    format: format.combine(
        format.label({ label: path.basename(process.mainModule.filename)}),
        //format.colorize(),
        format.timestamp({
            format: 'YYYY-MM-DD HH:mm:ss'
        }),
        format.json()
    ),
    transports: [
        new transports.Console({
            level: 'info',
            format: format.combine(
                format.printf(
                    info => `${info.timestamp} ${info.level} [${info.label}]: ${info.message}`
                )
            )
        }),
        dailyRotateFileTransport
    ]
});

module.exports = logger;

Во время работы приложения появляется сообщение об ошибке ниже

var dailyRotateFileTransport = new DailyRotateFile({
                               ^

TypeError: DailyRotateFile is not a constructor

...