如何将日志消息输出到控制台

时间:2014-07-24 22:23:34

标签: javascript debugging sails.js

我正在开发一个sails.js网络应用程序,所以我使用命令行启动Web应用程序。我试图将对象输出到浏览器控制台,但它们显示在命令行中。有没有办法改变它,以便将日志输出到控制台?

2 个答案:

答案 0 :(得分:2)

您无法直接从服务器端代码向浏览器中的日志输出任何内容。

为此,您可以将Javascript代码放在响应页面中,该代码将在浏览器中执行并写入日志。

答案 1 :(得分:0)

这取决于您使用的工具。例如,我使用了 PHP 和 React,它们都提供了向页面(而不是控制台)发送错误消息的功能。

因此,如果您有时间这样做,您可以将错误(或其他)消息发送给客户端,然后客户端使用 console.log() 在浏览器的控制台中打印它。

不过,在大多数情况下,从服务器向客户端发送错误消息被视为危险(因为不安全)。 PHP 和 React 都有带有注释的设置:一旦投入生产,请将其关闭。

以下是 PHP 的设置,可在您的 .ini 文件中找到:

; The following are all the settings which are different in either the production
; or development versions of the INIs with respect to PHP's default behavior.
; Please see the actual settings later in the document for more details as to why
; we recommend these changes in PHP's behavior.

; display_errors
;   Default Value: On
;   Development Value: On
;   Production Value: Off

; display_startup_errors
;   Default Value: Off
;   Development Value: On
;   Production Value: Off

; error_reporting
;   Default Value: E_ALL & ~E_NOTICE & ~E_STRICT & ~E_DEPRECATED
;   Development Value: E_ALL
;   Production Value: E_ALL & ~E_DEPRECATED & ~E_STRICT

如我们所见,生产值是 Off(不要告诉客户您的服务器出现了什么故障)。

主要问题是您可能会遇到错误,从而泄露诸如密码之类的东西(为简单起见,您永远不应该在任何地方写明文密码)。

我对 sails.js 一无所知,也不知道 Guffa 是否知道它是否有能力施展这种魔法。无论哪种方式,您都可以实现自己的版本。在浏览器端查看错误消息确实非常实用,因为您一直在查看它。与其说是服务器控制台……我知道。我去过那里很多次了。