首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何设置CORB日志来调试XQUery信息

如何设置CORB日志来调试XQUery信息
EN

Stack Overflow用户
提问于 2014-07-15 07:29:53
回答 1查看 696关注 0票数 2

我使用CORB通过命令在MarkLogic DB上运行模块:

ml本地corb -模块=corb d.xqy

并希望生成有关此处理的日志,为此我已将xdmp:log()添加到abcd.xqy中。但是,我无法找到生成日志消息的位置。它不在命令提示符上,也不在MarkLgoic日志目录中。

是否有任何方法通过属性文件设置CORB日志设置?如果是,怎么做?或任何其他方式来跟踪生成的日志消息。

以下内容的一些背景是:

  1. 我已经通过roxy命令摄入了RDFXML。 ml本地部署内容
  2. 现在,我以RDFXML作为输入,并通过上面提到的CORB命令将它们转换为三元组。它正在成功运行。
  3. 插入-分类法-triples.xqy有一些日志消息没有显示在命令提示符和MarkLogic日志目录。

我的完整命令是:

ml本地corb --modules=/tools/ingest/insert-taxonomy-triples.xqy --uris=/tools/ingest/find-分类学-uris.xqy

insert-taxonomy-triples.xqy

导入模块名称空间sem = "http://marklogic.com/semantics“(”/MarkLogic/emantics.xqy“);导入模块名称空间c= "http://bsigroup.com/ns/meddev/common/constants”(“/app/ module /constants.xqy”); 声明名称空间xdmp = "http://marklogic.com/xdmp"; 将变量$URI声明为xs:; 设$分类学-名称:= fn:替换(fn:替换($URI,/分类学/‘,''),’..rdf‘,'') 设$ := fn:concat($c:BSI-分类法-基-URI,$分类法-名称) 让$log := xdmp:log("xxxxxxxxxxxxxxxx") 让$log :=:= ",“主模块:解析分类法",$URI,”并在图中插入三元组",$:=-name),“调试”) 让$permissions := (xdmp::=(“meddev-:=”,"update"),xdmp:权限(“meddev-:=”,“read”)返回sem:rdf-:=(sem:rdf-:=(fn:doc($URI),"rdfxml"),(fn:concat(“重写-图=”,$graph)),$permissions ($图形-名称)

find-taxonomy-uris.xqy

声明名称空间xdmp = "http://marklogic.com/xdmp";声明命名空间cts = "http://marklogic.com/cts"; 让$分类法-uri := cts:uri匹配(“/分类学/*”) 让$log :=:=‘主模块:找到的分类是',fn:count($分类法-URI ),’URI‘,'debug') 返回(fn:count($分类法-uris),$分类法-uris)

命令提示结果:

D:\mdol-dev\mdol-as>ml本地corb --modules=/tools/ingest/insert-taxonomy-triple s.xqy --uris=/tools/ingest/find-分类学-uris.xqy java /lib/java/marklogic 5.0.2.jar D:/mdol-dev/mdol-as/deploy/lib/java/corb.jar;D:/mdol-dev/mdol-as/deploy xcc://adm in:admin@localhost:9002/meddev-content“-cp /ingest/insert-分类法-triples.xy1 tools/ingest/find-分类学-uris.xqy "/”meddev--cp--cp false“ 登录控制台2014年7月16日10:35:59 AM com.marklogic.developer.SimpleLogger configureLogger 信息:为: com.marklogic.ps /2014年7月16日10:35:59 AM com.marklogic.developer.corb.Manager run设置日志 信息: com.marklogic.developer.corb.Manager starting: version 2010-08-24.1 on 1.7 .0_40 (Java(TM) SE运行时环境)2014年7月16日10:35:59 AM com.marklogic.developer.corb.Manager运行 信息:最大堆大小=1783年7月16日10:35:59 MiB com.marklogic.developer.corb.Manager prepareContentSour ce 信息:使用内容源xcc://admin:admin@localhost:9002/meddev-content /2014年7月16日10:35:59 AM com.marklogic.developer.corb.Manager registerStatusInfo 信息:配置模块db: meddev模块2014年7月16日10:35:59 AM com.marklogic.developer.corb.Manager registerStatusInfo 信息:配置模块根:/ Jul 16,2014年10:35:59 AM com.marklogic.developer.corb.Manager registerStatusInfo 信息:配置uri模块:tools/ingest/find-分类学-uris.xqyjl 16,2014 10:35:59 AM com.marklogic.developer.corb.Manager registerStatusInfo 信息:配置的过程模块:tools/ingest/insert-分类法-triples.xqyjl 16,2014 10:35:59 AM com.marklogic.developer.corb.Manager prepareModules 信息:检查模块,数据库:meddev模块2014年7月16日10:35:59 AM com.marklogic.developer.corb.Manager prepareModules 信息:跳过模块安装:tools/ingest/find-分类学-uris.xqyjl 16,2014 10:35:59 AM com.marklogic.developer.corb.Manager prepareModules 信息:跳过模块安装:tools/ingest/insert-分类学-triples.xqyjl 16,2014 10:35:59 AM com.marklogic.developer.corb.Manager populateQueue 信息:填充队列2014年7月16日10:35:59 AM com.marklogic.developer.corb.Manager populateQueue 信息:调用模块/工具/取食/查找-分类学-uris.xqy/2014年7月16日10:35:59 AM com.marklogic.developer.corb.Manager populateQueue 信息:预计2014年7月16日上午10:35:59 com.marklogic.developer.corb.Manager populateQueue 2014年7月16日10:35:59 AM com.marklogic.developer.corb.Monitor monitorResults 信息:监控2项任务2014年7月16日10:39:29 AM com.marklogic.developer.corb.Monitor showProgress 信息:完成1/2,0 tps,1个活动线程,2014年7月16日10:39:29 AM com.marklogic.developer.corb.Monitor monitorResults 信息:等待游泳池终止2014年7月16日10:39:29 com.marklogic.developer.corb.Monitor monitorResults 信息:完成所有任务2/2,0 tps,0活动线程

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-07-15 11:00:45

xdmp:log()生成的任何消息都将在ErrorLog.txt中(在Linux:/var/opt/MarkLogic/Logs/ErrorLog.txt上)。您编写的命令还使用了Roxy Deployer

--modules参数告诉Corb您想要做什么,但是您也需要指定--collection (一个将集合命名为process的字符串)或--uris (一个识别要处理的文档的模块)。将其中一个添加到您的命令中,您将看到Corb的日志消息出现在控制台上。

根据额外的信息,我看到了几件事。

  1. 查找-分类学-uris.xqy显然找到了两个:INFO: queued 2/2
  2. 插入-分类法-triples.xqy成功地处理了这两个:INFO: completed all tasks 2/2
  3. 您有三个xdmp:log()调用,其中两个传入“调试”参数。文件日志级别的默认设置是info,这将排除调试消息。在Admin中,转到Groups ->默认值(假设这是您使用的组名),向下滚动到“文件日志级别”,并将其设置为“调试”。这应该会让这些信息出现。你应该已经看到xdmp:log("xxxxxxxxxxxxxxxx")电话了,是吗?

另一个注意事项:由于您的目标是将RDFXML转换为MarkLogic三元组,所以可以使用mlcp,它可以直接为您执行转换。如果你试过,但它没有效果,这将是有用的知道。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24752349

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档