summaryrefslogtreecommitdiff
path: root/source/logger.js
blob: ed03c4b0b70fcfaf2e53358dfe678433521ac976 (plain)
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
const winston = require('winston')
const chalk = require('chalk')
require('dotenv').config()

// Hanles logging
class Logger{
    constructor() {
        this.logger = winston.createLogger({
            level: 'info',
            format: winston.format.json(),
            defaultMeta: {service: 'user-service'},
            transports: [
                new winston.transports.File({filename: 'error.log', level: 'error'}),
                new winston.transports.File({filename: 'combined.log'})
            ]
        })

        if (process.env.NODE_ENV !== 'prod') {this.logger.add(new winston.transports.Console({format: winston.format.simple()}))}
    }

    Error(x) {if (process.env.NODE_ENV !== 'prod') {console.error(chalk.red(x))} else {this.logger.error(x)}}
    Info(x) {if (process.env.NODE_ENV !== 'prod') {console.log(chalk.yellow(x))} else {this.logger.info(x)}}
}

module.exports = () => {return new Logger()}