如何使Pino库成为通用库并在项目中的任何地方调用

问题描述 投票:0回答:1

我对node.js和JS世界非常陌生。我正在对现有的基于node.js的测试应用程序进行记录。我刚刚选择了“ pino”,并按如下所示使用它:

const pino = require('pino');
const logger = pino({
    prettyPrint: true
  });

logger.info("Flow---XXXX");

当我运行npm run test | pino-pretty -c -t时返回以下响应>>

输出:

[[1589538447177]信息(L-MAA-13i28828820上的00020:流--- XXXX

我在这里有两个问题:

  1. 我在命令中设置了-t标志,我希望它将时间戳转换为用户可理解的格式(例如yyyy-mm-dd HH:mm:ss),但它仍然像上面一样打印纪元格式。 >

  2. 我正在尝试将以下行添加到项目中的所有JS文件中。是否可以将其命名为一些JS文件并将记录器对象导出到其他js文件中?就像不是在项目中到处都调用以下行,我可以创建可重用的js文件并导出函数吗?

  3.   const pino = require('pino');
        const logger = pino({
            prettyPrint: true
          });
    

我不确定是否可以实现2个请求,但是如果能获得一些潜在客户,那就太好了。

提前感谢。

更新:

我通过使用module.export选项解决了第一个问题,如下所示:

 module.export.log = function(input)
    {

    logger.info(input);
    }

有人可以帮助我在日志中显示用户可读的格式时间吗?现在它打印出时代。.我尝试了下面的代码,但还是没有运气。

const logger = pino({
    prettyPrint: true,
    timestamp:`,"time":"${new Date(Date.now())}"`
  });

我可以看到在pino库中有一个名为timestamp的const变量,并且默认值被指定为纪元时间。

如果有任何解决方案,我会发帖的

我对node.js和JS世界非常陌生。我正在对现有的基于node.js的测试应用程序进行记录。我只是选择了'pino'并按如下方式使用它:const pino = require('pino'); const logger ...

javascript node.js pinojs
1个回答
0
投票

我刚刚更改了pino.js文件中的以下详细信息,现在返回了用户可读的时间戳格式

const defaultOptions = {

timestamp:isoTime

}

const time = (timestamp instanceof Function)
    ? timestamp : (timestamp ? isoTime : nullTime)
  const timeSliceIndex = time().indexOf(':') + 1
© www.soinside.com 2019 - 2024. All rights reserved.