Как динамически связать Морган логформат - PullRequest
0 голосов
/ 27 февраля 2020

Здесь я экспортирую эту функцию логгера и динамически вставляю логформат в качестве параметра в функцию логгера, и я проверил правильность его вставки, написав console.log, но он по-прежнему не вставляется в файл accesslog

class loggers{

    constructor(){
        this.log = "";
    }

    logger(logFormat){

        if(!logFormat)
            return [];

        console.log("@@@@@@@",logFormat);
        this.log=logFormat;
        morganLogger.token('id', function getId (req) {
            req.id=uuid.v4();
            return req.id  
        });
        return [
            // Log all requests
            morganLogger(
                this.log,{

                    skip: (req, res) => {
                        return res.statusCode > 200
                    },
                        stream: rfs.createStream("accesslog", {
                        interval: config.log.interval, // rotate daily
                        path: path.join(config.log.dirname,'userlogs'),
                        size: config.log.size
                      }) 
                }
            ),
            morganLogger(
                this.log,
                {

                    skip: (req, res) => {
                        return res.statusCode < 400
                    },
                    stream: rfs.createStream("errorlog", {
                        interval: 15m, // rotate daily
                        path: path.join(/api/,'userlogs'),
                        size: 15M
                      }) 
                }
            )
        ]; 


    }
}
const loggerss=new loggers();
module.exports={
  logger:loggerss.logger.bind(loggerss)
}


...