我正在使用CORB通过命令在MarkLogic DB上运行模块:
ml local corb --modules = abcd.xqy
并希望生成我已将xdmp:log()
添加到abcd.xqy
的此处理的日志。但是,我无法找出生成日志消息的位置。它不在命令提示符下,也不在MarkLgoic日志目录中。
有没有办法通过属性文件设置CORB日志设置?如果有,怎么样?或任何其他方式来跟踪生成的日志消息。
以下的一些背景是:
摄取了RDFXML
ml本地部署内容
ml local corb --modules = / tools / ingest / insert-taxonomy-triples.xqy --uris = / tools / ingest / find-taxonomy-uris.xqy
插入-分类法triples.xqy
import module namespace sem =" http://marklogic.com/semantics" at" /MarkLogic/semantics.xqy" ;; import module namespace c =" http://bsigroup.com/ns/meddev/common/constants" at" /app/common/constants.xqy" ;;
声明命名空间xdmp =" http://marklogic.com/xdmp&#34 ;;
将变量$ URI声明为xs:string external;
让$ taxonomy-name:= fn:replace(fn:replace($ URI,' / taxonomies /',''),' .rdf&# 39;,'&#39)
let $ graph-name:= fn:concat($ c:BSI-TAXONOMY-BASE-URI,$ taxonomy-name)
让$ log:= xdmp:log(" xxxxxxxxxxxxxxxx")
让$ log:= xdmp:log(fn:concat(" /tools/ingest/insert-taxonomy-triples.xqy", "主要模块:解析分类法",$ URI, "并将三元组插入图形",$ graph-name), "调试&#34)
让$ permissions:=(xdmp:permission(" meddev-role","更新"),xdmp:permission(" meddev-role",& #34;阅读"))
return sem:rdf-insert( sem:rdf-parse(fn:doc($ URI)," rdfxml"), (fn:concat(" override-graph =",$ graph-name)), $权限, ($图名) )
找到-分类法uris.xqy
声明命名空间xdmp =" http://marklogic.com/xdmp&#34 ;; 声明命名空间cts =" http://marklogic.com/cts&#34 ;;
让$ taxonomy-uris:= cts:uri-match(" / taxonomies / *")
let $ log:= xdmp:log(fn:concat(' /tools/ingest/find-taxonomy-uris.xqy', '主要模块:找到的分类法是', FN:计数($分类法的URI) ' URIs' ) '调试&#39)
返回( FN:计数($分类法的URI) $分类学的URI )
命令提示结果:
D:\ mdol-dev \ mdol-as> ml local corb --modules = / tools / ingest / insert-taxonomy-triple s.xqy --uris = / tools / ingest / find-taxonomy-uris.xqy
java -cp D:/mdol-dev/mdol-as/deploy/lib/java/corb.jar; D:/ mdol-dev / mdol-as / deploy /lib/java/marklogic-xcc-5.0.2.jar com.marklogic.developer.corb.Manager xcc:// adm in:admin @ localhost:9002 / meddev-content""工具/摄取/插入 - 分类 - triples.x qy 1 tools / ingest / find-taxonomy-uris.xqy" /" meddev-modules false
登录到CONSOLE 2014年7月16日上午10:35:59 com.marklogic.developer.SimpleLogger configureLogger
信息:设置日志:com.marklogic.ps 2014年7月16日上午10:35:59 com.marklogic.developer.corb.Manager运行
INFO:com.marklogic.developer.corb.Manager start:版本2010-08-24.1 on 1.7 .0_40(Java(TM)SE运行时环境) 2014年7月16日上午10:35:59 com.marklogic.developer.corb.Manager运行
INFO:最大堆大小= 1783 MiB 2014年7月16日上午10:35:59 com.marklogic.developer.corb.Manager prepareContentSour CE
信息:使用内容源xcc:// admin:admin @ localhost:9002 / meddev-content 2014年7月16日上午10:35:59 com.marklogic.developer.corb.Manager registerStatusInfo
信息:已配置的模块db:meddev-modules 2014年7月16日上午10:35:59 com.marklogic.developer.corb.Manager registerStatusInfo
信息:已配置的模块root:/ 2014年7月16日上午10:35:59 com.marklogic.developer.corb.Manager registerStatusInfo
信息:已配置的uri模块:tools / ingest / find-taxonomy-uris.xqy 2014年7月16日上午10:35:59 com.marklogic.developer.corb.Manager registerStatusInfo
信息:已配置的流程模块:tools / ingest / insert-taxonomy-triples.xqy 2014年7月16日上午10:35:59 com.marklogic.developer.corb.Manager prepareModules
信息:检查模块,数据库:meddev-modules 2014年7月16日上午10:35:59 com.marklogic.developer.corb.Manager prepareModules
信息:跳过模块安装:tools / ingest / find-taxonomy-uris.xqy 2014年7月16日上午10:35:59 com.marklogic.developer.corb.Manager prepareModules
信息:跳过模块安装:tools / ingest / insert-taxonomy-triples.xqy 2014年7月16日上午10:35:59 com.marklogic.developer.corb.Manager populateQueue
INFO:填充队列 2014年7月16日上午10:35:59 com.marklogic.developer.corb.Manager populateQueue
INFO:调用模块/tools/ingest/find-taxonomy-uris.xqy 2014年7月16日上午10:35:59 com.marklogic.developer.corb.Manager populateQueue
信息:期待总数2 2014年7月16日上午10:35:59 com.marklogic.developer.corb.Manager populateQueue
INFO:排队2/2 2014年7月16日上午10:35:59 com.marklogic.developer.corb.Monitor monitorResults
信息:监控2项任务 2014年7月16日上午10:39:29 com.marklogic.developer.corb.Monitor showProgress
INFO:完成1/2,0 tps,1个活动线程 2014年7月16日上午10:39:29 com.marklogic.developer.corb.Monitor monitorResults
INFO:等待池终止 2014年7月16日上午10:39:29 com.marklogic.developer.corb.Monitor monitorResults
INFO:完成所有任务2 / 2,0tps,0活动线程
答案 0 :(得分:2)
xdmp:log()
生成的所有邮件都在ErrorLog.txt
(在Linux上:/var/opt/MarkLogic/Logs/ErrorLog.txt
)。编写的命令也使用Roxy Deployer。
--modules
参数告诉Corb你想做什么,但你还需要指定--collection
(一个命名要处理的集合的字符串)或--uris
(一个模块,它将确定要处理的文件)。将其中一个添加到您的命令中,您应该会在控制台上看到Corb的日志消息。
根据附加信息,我看到了一些事情。
INFO: queued 2/2
。 INFO: completed all tasks 2/2
。 xdmp:log()
个来电,其中两个通过"调试"参数。文件日志级别的默认设置是info,它将排除调试消息。在管理界面中,转到群组 - >默认(假设您正在使用的组名称),向下滚动到"文件日志级别"并将其设置为" debug"。这应该会显示这些消息。你应该已经看到了xdmp:log("xxxxxxxxxxxxxxxx")
电话;你是? 另一个观察结果:由于您的目标是将RDFXML转换为MarkLogic三元组,因此您可以使用mlcp,它可以为您提供开箱即用的转换功能。如果你尝试了它并且它没有工作,那么知道这将是有用的。