首页 > web前端 > css教程 > 如何使用pino-logger在node.js应用程序中实现登录

如何使用pino-logger在node.js应用程序中实现登录

尊渡假赌尊渡假赌尊渡假赌
发布: 2025-03-19 09:52:11
原创
123 人浏览过

如何使用pino-logger在node.js应用程序中实现登录

有效的日志记录对于应用程序开发至关重要。它提供了对应用程序行为的见解,并简化了调试。本教程演示了如何使用Pino Logger在Node.js应用程序中实现日志记录,这是一个流行的选择,以其性能和灵活性而闻名。

Pino允许全面的日志记录,包括有关应用程序流的详细信息以及将日志保存到分开文件的能力。它广泛的GitHub社区进一步强调了其可靠性。

本指南涵盖:

  • 配置记录级别。
  • 自定义日志输出以提高终端的可读性,包括JSON响应包含的选项。
  • 将日志保存到专用文件。

最后,您将能够使用最佳实践和Pino在Node.js应用程序中实现强大的登录。

先决条件

在进行之前,请确保您有:

  • 具有服务器端开发的Express.js的经验。
  • 熟悉构建REST API而无需认证。
  • 在代码编辑器中使用命令行工具或集成终端的熟练程度。

建议使用像邮递员这样的工具进行API端点测试。

步骤1:项目设置

此步骤涉及使用Express.js和Mongoose创建基本的Node.js Crud应用程序。这种方法可确保在现实的应用程序上下文中实现记录功能。

有关CRUD应用程序设置,请参阅有关使用Mongoose和Mongodb Atlas执行CRUD操作的教程。完成后,您将拥有一个node.js应用程序,其中包含创建,读取,更新和删除路由。

在代码更改时安装nodemon以进行自动服务器重新启动:

 NPM安装-G-力nodemon
登录后复制

-g标志在全球安装, --force处理潜在的冲突。

步骤2:安装皮诺

安装必要的依赖项:Pino,Express-Pino-Logger和Pino-Pretty:

 NPM安装Pino Express-logger Pino-Pinty
登录后复制

步骤3:创建Logger服务

创建具有各种日志级别(警告,错误,信息等)的Pino Logger服务。此服务将使用Node.js中间件集成到您的应用程序中。

创建services目录:

 MKDIR服务
登录后复制

使用以下代码创建loggerService.js内部services

 const pino = require('pino');
模块exports = pino({prettyprint:true});
登录后复制

这将创建一个具有相当印刷输出的基本记录器。以后的步骤将涵盖进一步的配置。

接下来,在您的server.js文件中,导入Logger服务和express-pino-logger

 const expresspinologger = require('express-pino-logger');
const logger = require('./ services/loggerService');
登录后复制

使用您的Logger服务配置express-pino-logger

 // ...
const loggermiddleware = ExpressPinologger({
  记录器:记录器,
  自动:是的,
});

app.use(loggeriDdleware);
// ...
登录后复制

autoLogging: true包括日志中的JSON响应。

在您的路线处理程序(例如, foodRoutes.js )中,导入并使用记录器:

 const logger = require('../ services/loggerService');

// ...
app.get(“/food”,async(请求,响应)=> {
  logger.info('获取路线访问');
  // ...
});
// ...
登录后复制

重新启动服务器( nodemon server.js )并测试API端点。日志输出将出现在您的终端中。

步骤4:配置日志

此步骤侧重于自定义Logger服务并增强日志可读性。

自定义日志级别

loggerService.js中定义自定义日志级别:

 // ...
const Levels = {
  http:10,
  调试:20,
  信息:30,
  警告:40,
  错误:50,
  致命:60,
};
// ...
登录后复制

更新loggerService.js中的pino配置:

模块。Exports= pino({{
  漂亮的印刷:是的,
  Custalevels:级别,
  useonlycustomlevels:是的,
  级别:'http',
});
登录后复制

使用自定义级别测试(例如, logger.http(...) )。设置autoLogging: false如果不需要JSON响应,则在server.js中进行false。

漂亮的印刷

loggerService.js中增强日志格式:

模块。Exports= pino({{
  Custalevels:级别,
  useonlycustomlevels:是的,
  级别:'http',
  PrettyPrint:{
    着色:是的,
    Levelfirst:是的,
    TranslateTime:“ Yyyy-DD-MM,H:MM:SS TT',
  },,
});
登录后复制

再次测试以查看改进的日志输出。

步骤5:将日志存储在文件中

要将日志写入文件,请在loggerService.js中修改pino配置:

模块。Exports= pino({{
  Custalevels:级别,
  useonlycustomlevels:是的,
  级别:'http',
  PrettyPrint:{
    着色:是的,
    Levelfirst:是的,
    TranslateTime:“ Yyyy-DD-MM,H:MM:SS TT',
  },,
},pino.destination(`$ {__ dirname}/logger.log`));
登录后复制

测试您的API;现在,日志将写入services目录中的logger.log

结论

本教程提供了在Node.js应用程序中实现Pino登录的综合指南。记住最佳实践:上下文信息,明确的目的和可读的格式是有效记录的关键。探索用于高级配置选项的官方Pino文档。

以上是如何使用pino-logger在node.js应用程序中实现登录的详细内容。更多信息请关注PHP中文网其他相关文章!

本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板