UNPKG

zebb-logger

Version:

LoggerSDK for Microservices with multiple adapters eg: Pino, Winston, Bunyan with support for [Mapped Diagnostics Context](http://logback.qos.ch/manual/mdc.html).

59 lines (44 loc) 1.55 kB
process.env.SERVICE = 'Payment'; process.env.LOG_ADAPTER = 'pino'; process.env.LOG_LEVEL = 'debug'; process.env.LOG_PATH = 'logs'; process.env.LOG_FILE = 'payment.log'; process.env.LOG_ONLY_STDOUT = 'false'; const { Logger } = require('../logger'); const UserController = require('./controller'); function configureLogger() { const logOptions = { level: process.env.LOG_LEVEL, logPath: process.env.LOG_PATH, logFile: process.env.LOG_FILE, }; Logger.setLoggerOptions(logOptions); Logger.addAdapter(process.env.LOG_ADAPTER, Logger.setAdapter(process.env.LOG_ADAPTER)); } configureLogger(); const logger = new Logger(__filename); // logger.log('debug', 'starting to listen for new job on queue: payments'); logger.fatal('SERVER CRASHED----------', new Error('fatal exception')); const Job = require('./job'); let JOB_ID = 9900; let USER_ID = 9900; const getJob = () => ({ type: 'payment', gateway: 'mobikwik', transaction_id: `T${Date.now()}`, id: ++JOB_ID, amount: Math.floor(Math.random(1, 10000) * 10e3), user_id: ++USER_ID, }); setInterval(() => { new Job(getJob()).processJob(); }, 2000); logger.info('Initilazling user controller'); logger.info('do something'); logger.info('Method: POST URL: /api/v1/users', { requestId: 123 }, { c1: 'v1' }); const user = new UserController(); user.doSomething(); setInterval(() => { logger.error('Payment Failed ', new Error('GatewayError: Failed to process payment transaction')); }, 2000); logger.log('info', 'Checking log information', { name: 'kailash' })