0

奇怪的问题。

Marklogic 将截断错误日志中的消息,如下所示:

2012-09-19 10:36:12.130 Notice: _app_test_preview_8000: $finalPath = "/opt/bc/content/binary-content/article/test-single..."

通过使用省略号 (...) 而不是向我显示整个值。

有什么方法可以防止这种情况吗?

4

2 回答 2

2

MarkLogic 在记录值信息时,在内部使用 xdmp:describe 将信息记录到 ErrorLog.txt。这是为了防止将完整且非常冗长的值记录到此日志中,并以比实际速度更快的方式增长。

对要调试的变量显式使用 xdmp:log,或使用调试 XQuery 编辑器之一。我相信 Oxygen 和 XQDT 做得很好,还有 XQDebug..

于 2012-09-19T20:10:37.650 回答
1

我已经习惯做的事情是这样的:

xdmp:log(fn:concat("The $var is: ", xdmp:describe($var)))

当您看到省略号时,您仍然可以使用 xdmp:describe()。取自此处的文档:

(: configure these as needed :)
let $max_sequence_length := 5
let $max_item_length := 5

xdmp:log(fn:concat("The $var is: ", 
  xdmp:describe(
    $var,
    $max_sequence_length, (: [$maxSequenceLength as xs:unsignedInt?] :)
    $max_item_length      (: [$maxItemLength as xs:unsignedInt*] :)
  )))
于 2012-09-20T14:29:57.793 回答