在the qooxdoo tutorial,我们看到这样的代码:这些语句如何启用qooxdoo日志记录?
if (qx.core.Environment.get("qx.debug"))
{
qx.log.appender.Native;
qx.log.appender.Console;
}
但在括号中的两个语句似乎只是通过遍历命名空间层次结构进行访问某些属性 - 他们arent调用一个函数。
这两条语句如何实际打开日志?
在the qooxdoo tutorial,我们看到这样的代码:这些语句如何启用qooxdoo日志记录?
if (qx.core.Environment.get("qx.debug"))
{
qx.log.appender.Native;
qx.log.appender.Console;
}
但在括号中的两个语句似乎只是通过遍历命名空间层次结构进行访问某些属性 - 他们arent调用一个函数。
这两条语句如何实际打开日志?
这两个语句根据需要为依赖分析创建了两个类,然后将它们自己注册到它们的推迟块[1]中。这样,管理变体相关的依赖关系。
[1] https://github.com/qooxdoo/qooxdoo/blob/master/framework/source/class/qx/log/appender/Native.js#L75
为了把马丁的回答,换句话说,该代码片段只是确保类(本机和控制台)被添加到应用程序的构建,提供了调试上。在这种情况下,qooxdoo的自动依赖分析会检测这两个符号并将它们添加到构建中。
一旦包含在构建中,他们自己注册并因此使得日志记录成为可能。