【问题标题】:Marklogic errorlog truncating messagesMarklogic 错误日志截断消息
【发布时间】:2012-09-12 01:11:11
【问题描述】:

奇怪的问题。

Marklogic 会像这样截断错误日志中的消息:

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

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

有什么办法可以防止这种情况发生吗?

【问题讨论】:

    标签: debugging error-logging marklogic


    【解决方案1】:

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

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

    HTH!

    【讨论】:

    • 是的,我通常使用 xdmp:trace 或 xdmp:log,我只是想知道我是否可以更懒一点。
    • 对于您自己记录的 XML 变量,请尝试使用 xdmp:quote() 来显示整个内容而不进行任何截断。
    【解决方案2】:

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

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

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

    (: 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*] :)
      )))
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-04-22
      • 2017-05-08
      • 2019-12-13
      • 1970-01-01
      相关资源
      最近更新 更多