Now*_*weh 5 javascript logging node.js pinojs
我正在尝试使用 pino 登录到我的节点应用程序服务器,并且我确实有一些大型日志出现,因此每天轮换文件会更实用。
所以我用了pino.multistream()和require('file-stream-rotator')
我的代码可以工作,但出于性能原因,我不想在主线程中使用流。
根据文档,我应该使用pino.transport():
[
pino.multistream()] 与此不同,pino.transport()因为所有流都将在主线程(即创建 pino 实例的线程)内执行。 https://github.com/pinojs/pino/releases?page=2
但是,我无法将pino.transport()和结合起来file-stream-rotator。
我的代码不能完全工作 - >记录第一个条目,但不可导出,因为它会阻止脚本并出现错误
抛出新错误('工作人员已退出')
主文件
const pino = require('pino')
const transport = pino.transport({
target: './custom-transport.js'
})
const logger = pino(transport)
logger.level = 'info'
logger.info('Pino: Start Service Logging...')
module.exports = {
logger
}
Run Code Online (Sandbox Code Playgroud)
自定义-transport.js 文件
const { once } = require('events')
const fileStreamRotator = require('file-stream-rotator')
const customTransport = async () => {
const stream = fileStreamRotator.getStream({ filename: 'myfolder/custom-logger.log', frequency: 'daily' })
await once(stream, 'open')
return stream
}
module.exports = customTransport
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1434 次 |
| 最近记录: |