En primer lugar, el nodo no es lo mío. Sin embargo, me encuentro tratando de descubrir cómo combinar pino/pino-http y express para entregar algunos registros formateados. Esta parte la he logrado.
Lo que estaba tratando de descubrir por un momento era cómo pasar express a través app.use(logger) un objeto de registro que tiene algunas propiedades base inyectadas.
Intenté un montón de cosas, incluida la creación de un registrador secundario y pasándolo a pinoHTTP(), pero aunque eso no dio error, terminé obteniendo objetos de registro muy largos que parecían llenos de contenido pegajoso e indeseable.
pseudocódigo
const express = require('express'); const pino = require('pino'); const log = pino({level: process.env.LOG_LEVEL || 'info'}); const childLogger = log.child({'exampleProp': 'example-value'}); const logger = require('pino-http')({ logger: childLogger }); const app = express(); const port = 3000; app.use(logger); app.get('/', (req, res) => { logger.info('Hello World'); res.send('Hello World!'); }); app.listen(port, () => { console.log('Example app listening on port ${port}') });