我有使用express-pino-logger 的现有代码。这对我们的 ELK 堆栈设置来说很好,但在本地运行时非常不幸(记录缩小的 JSON)。
我想使用pino-pretty使本地使用不痛苦。
pino-pretty-express中有一个替代方案可以解决这个问题,但使用它自己的漂亮格式化程序。如果可以的话,我想使用 pinojs 的标准包。
这是我到目前为止所拥有的:
// with just pino-pretty installed, pino works out of the box
const pino = require('pino')
const logger = pino({
prettyPrint: true
})
logger.info('hi') // prints pretty
Run Code Online (Sandbox Code Playgroud)
和:
// adding this option to express-pino-logger, doesn't work
const pino = require('express-pino-logger')
const logger = pino({
prettyPrint: true
})
logger.info('hi') // does NOT print pretty
Run Code Online (Sandbox Code Playgroud)
我想我已经解决了我自己的问题。
关键在于express-pino-logger页面上的最后一个示例:
'use strict'
const pino = require('pino')()
const expressPino = require('express-pino-logger')({
logger: pino
})
Run Code Online (Sandbox Code Playgroud)
这是我的解决方案:
// use pino-pretty and express-pino-logger together
const basicPino = require('pino')
const basicPinoLogger = basicPino({ prettyPrint: true })
const expressPino = require('express-pino-logger')({
logger: basicPinoLogger
})
const logger = expressPino.logger
logger.info('hi') // prints pretty
Run Code Online (Sandbox Code Playgroud)