Apache Velocity 记录到控制台以进行调试

Apache Velocity log to console for debugging

在 xwiki 中使用 Apache velocity,如何创建一个 console.log() 就像在 JavaScript 中那样?我知道日志可能会在服务器端。我真的只想打印为调试目的而呈现的变量值。

我应该补充一点,我要调试的页面是一个表单 .post 页面,因此不是由它自己呈现的,只有 returns 数据。因此 {{velocity output="false"}} 模式,所以简单地打印变量不是一个选项。

从 XWiki 6.1 开始,您可以使用日志脚本服务来获取标准记录器:

$services.logging.getLogger('My script').info('Hello {}', 'world')

有关详细信息,请参阅 http://extensions.xwiki.org/xwiki/bin/view/Extension/Logging+Module#HGetaLoggerfromscript

我很难弄清楚 'My Script' 的值是多少。事实证明函数 getLogger() 将采用 logger_name 作为输入参数,其中 logger_name 可以是 ..WEB-INF/classes/logback.xml 中的任何记录器名称。 例如,这对我有用:$services.logging.getLogger('org.xwiki').info('Hello {}', 'world')