深入研究Node.js中的日志信息

青灯夜游
Freigeben: 2020-08-12 09:31:18
nach vorne
2360 Leute haben es durchsucht

1.gif< span>< p>

当你开始用 javascript 进行开发时,可能学到的第一件事就是如何用 console.log< code> 将内容记录到控制台。如果你去搜索如何调试 javascript,会发现数百篇博文和 stackoverflow 文章都会简单的告诉你用 code>。因为这是一种很常见的做法,我们甚至会在代码中使用像 no-console< 这样的 linter 规则来确保不会留下意外的日志信息。但是如果我们真的想要去记录某些内容呢?<

在本文中,我们将梳理各种情况下要记录的日志信息,node.js 中 和console.error< code>之间的区别是什么,以及如何在不发生混乱的情况下把你库中的日志记录输出到用户控制台。<

【视频教程推荐:nodejs视频教程< a> 】< p>

console.log(`let's go!`);< pre>
nach dem login kopieren< div>< div>

理论先行:node.js 的重要细节< h2>

虽然你可以在浏览器和 node.js 中使用 或 console.error< code>,但在使用 时要记住一件重要的事。当你在 中将以下代码写入名为 index.js< 的文件中时:< >console.log('hello there'); console.error('bye bye');< div>

并用 node index.js< 在终端中执行它,你会直接看到两者的输出:< p>

虽然它们看起来可能一样,但实际上系统对它们的处理方式是不同的。如果你查阅 文档的 console< code>部分,会看到 是输出到 stdout< 而 console .error< 用的是 stderr< code>。< p>

每个进程都有三个可用的默认 stream< code>。那些是 stdin< code>,stdout< 和 code>。 流用来在处理进程的输入。例如按下按钮或重定向输出。 流用于程序的输出。最后 用于错误消息。如果你想了解为什么会有 存在,以及应该在什么时候使用它,可以查看这篇文章。< p>

简而言之,这允许我们在 shell 中使用重定向(>< code>)和管道(|< code>)来处理错误和诊断信息,它们是与程序的实际输出结果是分开的。虽然 >< 允许我们将命令的输出重定向到文件中,但是 2>< 允许我们将 的输出重定向到文件中。例如,下面这个命令会将 “hello there” 传给一个名为 hello.log< 的文件并把 “bye bye” 传到一个名为 error.log< 的文件中。< >node index.js > hello.log 2> error.log< div>

应该在什么时候记录日志?< h2>

现在我们已经了解了日志记录的底层技术,接下来让我们谈谈应该在什么情况下记录日志内容。通常应该是以下情况之一:< p>

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!