在 Deno 中如何使用 logger 进行日志记录

面试官:小伙子,你的数组去重方式惊艳到我了

简介

Deno 是一种新兴的 JavaScript 和 TypeScript 运行时环境,目前越来越受到前端界和后端界的青睐。而在应用开发过程中,日志记录是不可或缺的一环。因此,本文将介绍如何使用 logger 在 Deno 的应用中进行日志记录。

何为 logger

logger 是一个常用的日志记录库,它能够记录应用中发生的信息、警告和错误等。logger 不仅将日志输出到终端,也可以输出到文件或者其他记录介质。同时,logger 还可以根据不同的日志等级过滤日志的输出。

安装 logger

在 Deno 应用中使用 logger,需要先进行它的安装。可通过如下命令进行安装:

---- ------- ----------- ------------ ------------- ---------- -----------------------------------------

使用 logger

引入 logger 后,可以使用不同的可用等级进行不同类型的日志记录。logger 支持以下日志等级:

  • DEBUG: 记录详细信息,通常仅在诊断问题时使用。
  • INFO: 可以用来记录重要的事情,如应用程序启动时、配置发生变化等。
  • WARNING: 记录应用程序中的警告信息,例如:可能会影响应用程序行为的中性错误、违规行为等。
  • ERROR: 记录应用程序错误信息,例如:请求失败、操作失败等。

下面是一个简单的例子,展示了一个基本的应用程序如何在 Deno 中使用 logger 进行日志记录:

------ - ------ - ---- -------------------------------------

------------------- -- -----------

-- -------- -- -----
--- -
  ----------------------------
- ----- ------- -
  ----------------------------
-

------------------------- -- --- ----- ---------

------------------ -- - ----- -----------

执行程序后,你应该会看到 logger 所记录的信息:

- -----
---- ------ -- --------
----- ---------- ----- - -- ---- -- -------- -
------- --------- -- --- ----- ------
----- ---- -- - ----- --------

与 console.log 不同,logger 会在日志记录中输出额外的信息,如: 日志等级、记录时间、代码调用位置等。同时,上面的例子也演示了如何处理错误,并将错误信息记录到日志文件当中。

logger 还支持设置日志级别的过滤。可以通过以下代码将日志级别设置为 INFO:

-----------------------------

其他可用的日志级别还包括 logger.DEBUG、logger.WARNING 和 logger.ERROR。

日志输出

logger 可以将日志记录输出到不同的介质中。默认情况下,logger 只会将日志输出到终端中,通过调用 logger 的 setHandler 方法可以改变日志输出的目标介质。例如,将日志输出到文件中:

------ - ------ - ---- -------------------------------------
------ - --------- - ---- ----------------------------------------

----- --------------
  --------- -
    ----- --- ---------------------- -
      ---------- --------
    ---
  --
  -------- -
    -------- -
      ------ -------
      --------- ---------
    --
  --
---

----------------- ------- -- -------- -- --- --------

在这个例子中,我们将日志输出到了名为 log.txt 的文件中。需要注意的是,不同的介质可能需要不同的配置参数,以适应不同的记录需求。

结论

logger 是一个优秀的日志记录库,它可以方便地记录应用程序中的各个网络活动和错误信息,并输出到多种介质中。在 Deno 的应用中,logger 更可以帮助我们实现更加完善的日志记录和管理。

来源:JavaScript中文网 ,转载请联系管理员! 本文地址:https://www.javascriptcn.com/post/670c0e7666ef9cf37fadf97b


猜你喜欢

  • ECMAScript 2020 中的 BigInt 的作用和优势

    在 ECMAScript 2020 中,BigInt 是一项新增的特性,它可以用来精确表示非常大的整数。在过去,JavaScript 中只支持 53 位的整数表示,当需要处理更大的整数时,需要借助第三...

    4 天前
  • 理解 ES9:Object.getOwnPropertyDescriptors() 和 Object.getOwnPropertySymbols() 的使用例子

    理解 ES9:Object.getOwnPropertyDescriptors() 和 Object.getOwnPropertySymbols() 的使用例子 ES9 中两个新特性 Object.g...

    4 天前
  • 优化 Chai 测试套件以获得更好的可读性

    Chai 是一个流行的 JavaScript 测试工具,它能够帮助开发者编写更加简练和准确的测试用例。然而,在测试套件变得越来越复杂的时候,测试用例的可读性和维护性就会变得更加关键。

    4 天前
  • 如何使用 AngularJS 搭建 SPA 应用中的身份认证与权限控制系统?

    简介 单页应用(SPA)在当今的互联网应用中受到广泛的欢迎。相比于传统的多页面网络应用,SPA 更加快速和流畅,并可以通过使用路由器管理不同的视图实现更好的用户体验。

    4 天前
  • PWA 应用中图片加载慢的优化方式

    当我们访问 PWA 应用时,可能会发现图片加载非常慢,特别是对于移动设备用户来说,这是一个非常不友好的用户体验。那么,有哪些优化方式可以解决这个问题呢? 本文将会介绍一些 PWA 应用中优化图片加载速...

    4 天前
  • 使用 Django REST framework 提供基于用户名密码的认证和授权

    在 Web 应用程序中,认证和授权是非常重要的安全性能。如果你的应用程序需要使用用户名和密码进行登录,并根据用户的权限来限制访问,那么你需要一个强大的认证和授权系统。

    4 天前
  • Babel 编译 ES6/ES7 代码详解与配置教程

    前言 随着 ES6/ES7 规范的发布,我们可以使用新的语法和特性来编写代码,在可读性和可维护性方面也有了很大的提升。但是,不是所有的浏览器和 Node.js 的版本都支持这些新的特性,这时候就需要使...

    4 天前
  • 在 Custom Elements 中解决 Style 属性的设置问题

    Custom Elements 是一种 Web Components,它允许开发者定义自己的 HTML 标签,从而扩展 Web 平台的功能。在 Custom Elements 中,我们可以使用 Sha...

    4 天前
  • Serverless 应用中如何解决跨 APP 授权问题

    随着移动互联网时代的到来,越来越多的应用需要进行跨 APP 授权。例如,在使用第三方登录等功能时,用户需要授权访问他们在其他 APP 上的个人信息。但是,在 Serverless 应用中,由于缺乏常见...

    4 天前
  • 使用 ES10 的类私有字段时,应该如何排除错误

    随着 ES10 标准的推出,类私有字段成为了前端编程中一个新的技术点。虽然它可以提高代码的安全性和抽象性,但不正确的使用可能会导致一系列错误。本文将为读者介绍使用 ES10 类私有字段时应该如何排除错...

    4 天前
  • 使用 ESLint 加强代码质量

    作为前端开发人员,保证代码的质量是一个极其重要的任务。通常情况下,我们使用各种工具和技术来帮助我们完成这项任务。 ESLint 是一个非常有用的工具,它可以帮助我们识别和纠正代码中的错误、不规范的写法...

    4 天前
  • 创作内容管理系统:使用 Hapi.js 和 Vue.js

    在当前的网络时代,内容已成为网站或应用程序中最重要的组成部分之一。大量的网站和应用程序都需要一个创作内容管理系统(CMS)来帮助他们组织和管理内容,让内容更具可访问性和更易于制作。

    4 天前
  • React Native"渐进式" 单元测试:Enzyme + Jest

    React Native 自推出以来,已经成为了移动端开发的热门选择,其开发效率和跨平台的特性受到了开发者们的青睐。然而,在开发 React Native 应用时,我们也需要进行单元测试以保证代码质量...

    4 天前
  • 使用 Fastify 构建单页应用程序的教程

    单页应用程序是现代 Web 应用程序的一种形式,它通过使用 Ajax 技术实现在单个 Web 页面上加载并显示内容,从而提供更流畅、更快速的用户体验。在前端开发中,构建单页应用程序是一个非常重要的技能...

    4 天前
  • Tailwind CSS 优秀案例之点赞动效

    Tailwind CSS 是一个新兴的 CSS 框架,它通过为 CSS 定义了一些预先定义的类,使得开发者可以更加快速地构建并设计页面,从而提高开发效率。其中,通过使用动态效果可以为页面增加很多趣味性...

    4 天前
  • 解决使用 Flexbox 布局时出现的水平滚动条问题

    Flexbox 布局是前端开发中常用的一种布局方式,其灵活性和可扩展性得到了众多开发者的青睐。但是,在使用 Flexbox 布局时,有时会出现水平滚动条问题,可能会使页面出现不必要的滚动条,同时也会影...

    4 天前
  • 在 GraphQL 中如何排除重复数据?

    GraphQL 是一种用于 API 的查询语言和运行时环境,它使得客户端能够精确地声明其数据需要,并获得精确相符的结果,从而避免了响应过度或响应不足的情况。GraphQL 还具有一项独特的功能,即能够...

    4 天前
  • ES9:使用 AsyncGenerator 函数和 AsyncIterator 进行数据流编程

    ES9:使用 AsyncGenerator 函数和 AsyncIterator 进行数据流编程 随着 JavaScript 的快速发展,JavaScript 的异步编程模型也在不断改善。

    4 天前
  • 初学者必知的 CSS Reset 技术详解

    在前端开发中,CSS 是我们不可缺少的一部分。而在实际开发中,我们常常会遇到一些浏览器兼容性问题,比如不同浏览器默认样式的差异化。这就需要我们使用 CSS Reset 技术来统一各浏览器默认样式,从而...

    4 天前
  • 使用 Vue 开发的 PWA 应用如何实现本地推送

    PWA (Progressive Web Apps) 是一种逐步增强式的 web 应用程序,它结合了 web 应用程序和原生移动应用程序的优点。随着 web 技术的不断发展,PWA 的性能和功能已经越...

    4 天前

相关推荐

    暂无文章