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()}
|