NodeJS 如何使用pino作为记录器?

sr4lhrrt  于 2022-11-29  发布在  Node.js
关注(0)|答案(3)|浏览(302)

我刚刚开始使用pino和pino-pretty。我真的找了很多文档来学习如何使用它,但是我发现很难理解如何在我的应用程序中实现它。有人能给予我一些帮助吗?

fcy6dtqo

fcy6dtqo1#

下面是一个简单的示例,其中包含一个基本的修饰器--如果您对原生JSON输出不满意的话。

const { EOL } = require('os');
const levelMapping = { 50: 'error', 40: 'warning', 30: 'info', 20: 'debug' };

const logger = pino({
    level: level,
    prettyPrint: {},
    prettifier: (opts) => {
        return (inputData) => {
            const ts = new Date().toISOString().replace(/T/, ' ').replace(/\..+/, '');
            const line = `${ts} ${levelMapping[inputData.level]}: ${inputData.msg} ${EOL}`
            return line;
        }
    }
});

然后当然:

logger.info('I like it');
// outputs: 2020-08-21 15:10:17 info: i like it
b4lqfgs4

b4lqfgs42#

这不是JSON:

const logger = require('pino')({
    level: process.env.LOG_LEVEL,
    prettyPrint: true
 });

此JSON:

const logger = require('pino')({
    level: process.env.LOG_LEVEL,
 });
b1payxdu

b1payxdu3#

我必须更新我的package.json,使其与以下版本具有以下依赖关系:

"dependencies": {
    "@hapi/hapi": "^18.4.0",
    "hapi-pino": "^6.3.0"
    }

运行npm安装并启动项目后,记录器正在进行记录。

相关问题