6

当我在 Visual Studio 2012 中的 javascript 中使用 console.log("Some text output") 进行 Windows 8 Metro 编程时,文本被发送到哪里?在哪里可以查看?我已经打开了“输出”面板,但没有看到日志文本。

我没有使用正确的功能吗?我必须使用另一个功能来打印到输出吗?

4

4 回答 4

16

要实际查看 JavaScript 控制台,请DEBUG > Windows > JavaScript Console在 Visual Studio 菜单中选择。然后你可以使用good oldconsole.log()来写,但是你也可以使用相关的WinJS函数:

使用以下WinJS.log()命令创建函数后需要记录一些内容WinJS.Utilities.startLog()

WinJS.Utilities.startLog({type: "info", tags: "custom" });
WinJS.log("my message", "info", "custom");

WinJS以下是有关日志记录功能的一些附加信息:

startLog(options):配置一个记录器,将包含指定标签的消息写入 JavaScript 控制台。

options对象必须包含 a ,它type应该是errorwarn或之一。除非您想捕获所有日志条目,否则还要添加到包含您要记录的以空格分隔的标签列表的对象。infoperftags

WinJS.log(message, tags, type): 该功能默认不存在。但是,它是由您的startLog()调用创建的。您也可以手动创建它,但是因为您想使用登录到控制台startLog()是要走的路。

于 2012-10-21T11:26:23.163 回答
0

如果您需要在实时环境中调试应用程序,您可以使用简单的屏幕上的 console.log 替换,您可以使用 ~ 键激活它。

源代码在这里: https ://gist.github.com/4012355

于 2012-11-04T15:53:02.250 回答
0

我可能正在回复一篇旧帖子,或者您可能已经找到了实现您的目的的方法,但是我尝试了 console.log() 和 WinJS.log() 并且 javascript 控制台似乎都返回了“未定义”。另外,我确保使用“调试器;” 该代码正在执行的语句。现在我在这里假设您需要记录以进行调试,那么我现在更愿意“打印”到我的屏幕上的是:

<body>
  <label id="lblMessage">test</label>
</body>

然后在 JS 中:

function f(message) {
  document.getElementById('lblMessage').innerText = message;
}

(然后,在需要的地方调用这个函数——在我的例子中是 app.onactivated 函数)

于 2013-01-28T01:57:35.263 回答
0

您还可以通过 EventViewer 查看日志。以下是启用此功能的步骤:

打开事件查看器
导航到应用程序和服务日志
展开 Microsoft/Windows/AppHost
左键单击以选择管理员
右键单击​​管理员,然后选择查看 => 显示分析和调试日志

于 2014-03-06T23:39:02.090 回答