我有一个具有两个主要模块的应用程序。一个是 ui-component ,另一个是 service-component 。 ui组件使用winston logger,服务组件使用pino logger。
Pino记录器的链接为https://getpino.io/#/。我尝试使用以下代码,但是即使没有生成日志文件,我也看不到日志文件。服务组件用作ui组件内部的节点模块,该组件使用电子,角度8和NodeJs。当我运行命令yarn start
时,应用程序将运行,并且我进行一些验证以查看日志文件中的日志。
请帮助我,我是Pino的NodeJs的新手。像这样的两种不同的记录器实现是否有可能在NodeJs应用程序中造成任何冲突?
//import pino from "pino";
/*const dest = pino.extreme();
export const logger = pino(dest);*/
/*const dest = pino.destination('./logs/log')
export const logger = pino({ level: 'info' }, dest)*/
export const logger = require('pino')()
const tee = require('pino-tee')
const fs = require('fs')
const stream = tee(process.stdin)
stream.tee(fs.createWriteStream('myLogFile'), line => line.level >= 0)
stream.pipe(process.stdout)
logger.info('hello world')
logger.error('this is at error level')
答案 0 :(得分:2)
这是将 Pino 日志保存在日志文件中的 ts 解决方案。
npm i pino, pino-pretty
安装 pino 和 pino-pretty
import pino from "pino";
const logger = pino(
{
prettyPrint: {
colorize: true,
levelFirst: true,
translateTime: "yyyy-dd-mm, h:MM:ss TT",
},
},
pino.destination("./pino-logger.log")
);
logger.info('hi');