diff options
Diffstat (limited to 'source/logger.js')
| -rw-r--r-- | source/logger.js | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/source/logger.js b/source/logger.js new file mode 100644 index 0000000..ed03c4b --- /dev/null +++ b/source/logger.js @@ -0,0 +1,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()} + |
