@escueladigital/micro
Version:
Microservice manager for nodejs with kafka
40 lines (34 loc) • 1.12 kB
JavaScript
/* eslint-disable no-console */
/**
* Orden de precedencia del logger
* debug -> info -> warning -> error.
* Los transport logean todo lo que obtengan desde el punto
* que seleccionas en adelante por ejemplo si seleccionas info
* el transport logeara todo de info, warning y error.
*/
const Winston = require('winston')
const { LoggingWinston } = require('@google-cloud/logging-winston')
const ENVIRONMENT = process.env.NODE_ENV
const { name: MicroserviceName } = require(`${process.cwd()}/package.json`)
const ErrorReporting = require('@google-cloud/error-reporting').ErrorReporting
const Reporter = new ErrorReporting({
reportMode: 'always',
})
// const Reporter = {
// report: local => {
// console.log(local)
// },
// }
const Gcp = new LoggingWinston({ prefix: `${MicroserviceName} ${ENVIRONMENT} MICROSERVICE` })
const Local = new Winston.transports.Console({
format: Winston.format.combine(Winston.format.colorize(), Winston.format.simple()),
level: 'debug',
})
const Logger = Winston.createLogger({
transports: [Local],
Gcp,
})
module.exports = {
logger: () => Logger,
Reporter,
}