是否有可能在浏览器的不同控制台上分离输出?



我已经找过了,但找不到任何东西。也许我用错词了。

我目前正在开发一个应用程序,该应用程序可以将各种各样的消息实时地发送到控制台,以进行监视和调试。在某些语言的桌面上,很容易将其分离到不同的控制台甚至不同的日志文件中,但在浏览器中,我必须不断过滤。

是否有可能在浏览器(Firefox或Chrome)以某种方式有不同的输出流?是否存在一种方法能够拥有多个控制台,控制台选项卡等等?

只有一个控制台,所以你不能像处理桌面应用程序那样把它分成多个流。

您可以做的一件事是(ab)使用不同级别的输出:

  • console.debug() =比;详细的
  • console.info() =比;信息
  • console.warn() =比;警告
  • console.error() =比;误差

虽然不能分离流,但浏览器确实允许您在不同级别上进行过滤,因此这可以有效地为您提供四个可过滤的"流"。查看不同的数据集


或者,正如Pointy提到的,您还可以使用%c:

为您的输出着色(甚至样式)。
console.log('%c Hello World', 'color:#0F0;border:1px solid #F00');

或使用转义序列,如在结束符中:

console.log('x1b[33m%sx1b[0m', 'hi!');

虽然没有办法过滤这些


最后一个选项是启动每个"流"。使用不同的关键字,然后简单地过滤这些关键字:

console.log('[User] Bob logged in.');
console.log('[HTTP] Request sent.');
console.log('[Repo] Data acquired.');

我个人可能会用最后一个。

最新更新