【问题标题】:Apache Velocity log to console for debuggingApache Velocity 将日志记录到控制台以进行调试
【发布时间】:2016-04-24 14:13:16
【问题描述】:

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

我应该补充一点,我正在尝试调试的页面是一个表单.post 页面,因此不是由它自己呈现的,只返回数据。因此{{velocity output="false"}} 模式,因此不能简单地打印变量。

【问题讨论】:

  • 可能有帮助:*.com/a/7972815 要注入记录器,也许一个 groovy 宏会很有用 - 使用 XWiki xcontext 将记录器放入并在速度宏中获取它。

标签: velocity xwiki


【解决方案1】:

我很难弄清楚“我的脚本”的价值是什么。结果函数 getLogger() 将 logger_name 作为输入参数,其中 logger_name 可以是 ..WEB-INF/classes/logback.xml 中的任何记录器名称。 例如,这对我有用: $services.logging.getLogger('org.xwiki').info('Hello {}', 'world')

【讨论】:

    【解决方案2】:

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

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

    更多详情请见http://extensions.xwiki.org/xwiki/bin/view/Extension/Logging+Module#HGetaLoggerfromscript

    【讨论】: