All files / utils logger.js

83.33% Statements 10/12
50% Branches 2/4
0% Functions 0/1
83.33% Lines 10/12

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 528x 8x 8x 8x   8x     8x   8x                                               8x                 8x           8x    
const { createLogger, format, transports } = require('winston');
const { combine, timestamp, label, prettyPrint } = format;
const fs = require('fs');
require('winston-daily-rotate-file');
 
Iif (!fs.existsSync('public/logs')) {
    fs.mkdirSync('public/logs');
}
var transportsLogger = [];
 
transportsLogger.push(
    new transports.DailyRotateFile({
        level: process.env.ENV === 'apidevelopment' ? 'debug' : 'info',
        datePattern: 'YYYYMMDD',
        filename: 'public/logs/user%DATE%.log',
        handleExceptions: true,
        json: true,
        maxSize: '1g',
        maxFiles: '3d'
    })
);
 
// transportsLogger.push(
//     new transports.DailyRotateFile({
//         level: 'error',
//         datePattern: 'YYYY-MM-DD',
//         filename: `public/logs/userError-%DATE%.log`,
//         handleExceptions: true,
//         json: true,
//         maxSize: '1g',
//         maxFiles: '1d'
//     })
// );
 
var logger = createLogger({
    format: combine(
        timestamp(),
        prettyPrint()
    ),
    transports: transportsLogger,
    exitOnError: false
});
 
logger.stream = {
    write: function(message, encoding){
        logger.info(message);
    }
};
 
module.exports = logger;