简介
在开发 Web 应用程序时,了解访问日志是很重要的。访问日志可以帮助开发者跟踪服务器上的请求,并记录重要的信息。在 Node.js 和 Express.js 中,我们可以使用中间件来记录访问日志。
在本文中,我们将学习如何在 Express.js 中使用访问日志记录中间件。
安装
我们将使用 morgan ,这是一个流行的 Node.js 日志记录器。它可以记录访问日志,并提供多种格式与选项。
要安装 morgan,请在命令行中执行以下命令:
npm install morgan --save
使用方法
要在 Express.js 中使用中间件,我们需要在应用程序中设置它。对于 morgan 中间件,它需要传入一个格式化字符串。下面是一个基本的示例:
-- -------------------- ---- ------- ----- ------- - ------------------- ----- ------ - ------------------ ----- --- - ---------- ---------------------------- ---------------- -- -- - ------------------- -- ------- -- ---- ------- ---
在上面的示例中,我们设置了 combined
格式化字符串,这将记录完整的访问日志,包括 HTTP 请求方法、URL、状态代码以及响应时间。
现在,我们可以运行应用程序并查看控制台输出。每次请求时,我们将看到记录的访问日志。
自定义格式
除了使用内置的格式化字符串之外,我们还可以使用自定义格式。Morgan 在其文档中提供了格式指南,使我们可以根据自己的需要创建格式字符串。
以下是一个自定义格式字符串的示例,它将记录请求方法、URL、状态代码、响应时间及其它额外信息:
-- -------------------- ---- ------- ----- ------- - ------------------- ----- ------ - ------------------ ----- --- - ---------- -- ----- -------------------- --- -- --- ---------------------- ----------------------- ---- ------- -------------- -- --------- ---------------- -- -- - ------------------- -- ------- -- ---- ------- ---
在上面的示例中,我们使用了 token
方法,创建了一个名为 data
的 token。然后,我们为日志记录设置了自定义格式化字符串,使用了我们所创建的 token。
条件日志记录
Morgan 还提供了一个机制,使我们可以仅在满足特定条件时记录日志。例如,我们可以根据请求的 URL、状态代码或访问时间来记录日志。
以下是一个基于请求 URL 的条件日志记录的示例:
-- -------------------- ---- ------- ----- ------- - ------------------- ----- ------ - ------------------ ----- --- - ---------- -------------------------- - ----- ----- ---- -- - ------ ------- --- --------------- - ---- ---------------- -- -- - ------------------- -- ------- -- ---- ------- ---
在上面的示例中,我们使用了 skip
选项,创建了一个回调函数。如果回调函数返回真值,那么日志记录将被跳过。在这个例子中,我们通过检查 URL 是否为 /healthcheck
来跳过日志记录。
结论
在本文中,我们学习了如何在 Express.js 中使用访问日志记录中间件。我们使用了 morgan 中间件来记录访问日志,并使用了自定义格式和条件日志记录。希望这篇文章能够对你有所帮助!
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/674e6c16e884a3e30f264d5a