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 に答える