constmongoLogger=require('winston_mongo_logger');constmongoLogUri=process.env.MONGO_URL;constmongodbOptions={dbName: 'LOG',user: process.env.MONGO_USER,pass: process.env.MONGO_PASS};constlogger=mongoLogger(mongoLogUri,mongodbOptions,'<label>','appName');// mongoUri is an optional in case you want to create an another instance of databaseconstuseDb=require('./instanse-of-db');asyncfunctionmain(){constdb=awaituseDb;console.log('mongodb connected');awaitenv.appConfig();awaitlogger.connect(db);// use parent instance of mongodb just to save mongo poolconsole.log('Mongo Logger Connected');awaitlogger.axiosLogger('out_appName',172800);console.log('axios logger used');awaitlogger.traceLogger('trace_appName');console.log('Trace logger used')constapp=require('./app');app.listen(3001);returntrue;}main().then(()=>console.log('Server is running at http://localhost:3001')).catch(err=>{console.error(err);process.exit(1);});
If you want to capture some data at any specific place then
logger.customEvent('some_event_name',{foo: 'bar'},'info')// third argument is level which can be any of these [info, warn, error]
If you want capture logs of streaming data (i.e res.write('some data') then do as below)
router.use(logger.captureStreaming(),session)// session is express-session midleware