Как настроить журнал CORB для отладки информации XQUery

Я использую CORB для запуска модуля в базе данных MarkLogic с помощью команды:

мл локальный corb --modules = abcd.xqy

И хочу создать журнал этой обработки, для которой я добавил xdmp:log() в abcd.xqy. Но я не могу узнать, где создается сообщение журнала. Его нет в командной строке и нет в каталоге журналов MarkLgoic.

Есть ли способ настроить параметры журнала CORB через файл свойств? Если да, то как? или любым другим способом отслеживать созданное сообщение журнала.

Вот некоторые предыстории:

  1. I have ingested RDFXML through roxy command

    ml local deploy content

  2. Теперь я беру RDFXML в качестве входных данных и конвертирую их в тройки с помощью вышеупомянутой команды CORB. Он работает успешно.
  3. insert-taxonomy-triples.xqy содержит некоторые сообщения журнала, которые не отображаются в командной строке, а также в каталоге журналов MarkLogic.
My complete command is:

ml local corb --modules = / tools / ingest / insert-taxonomy-triples.xqy --uris = / tools / ingest / find-taxonomy-uris.xqy

insert-taxonomy-triples.xqy

пространство имен модуля импорта sem = "http://marklogic.com/semantics" в "/MarkLogic/semantics.xqy" ; пространство имен модуля импорта c = "http://bsigroup.com/ns/meddev/common/constants "at" /app/common/constants.xqy ";

объявить пространство имен xdmp = "http://marklogic.com/xdmp";

объявить переменную $ URI как xs: string external;

let $ имя-таксономии: = fn: replace (fn: replace ($ URI, '/ taxonomies /', ''), '.rdf', '')

let $ graph-name: = fn: concat ($ c: BSI-TAXONOMY-BASE-URI, $ имя-таксономии)

пусть $ log: = xdmp: log ("xxxxxxxxxxxxxxxx")

let $ log: = xdmp: log (fn: concat ("/ tools / ingest / insert-taxonomy-triples.xqy", "основной модуль: анализ таксономии", $ URI, "и вставка троек в график", $ graph- имя), "отладка")

let $ permissions: = (xdmp: permission ("meddev-role", "update"), xdmp: permission ("meddev-role", "read"))

return sem: rdf-insert (sem: rdf-parse (fn: doc ($ URI), "rdfxml"), (fn: concat ("override-graph =", $ graph-name)), $ permissions, ($ имя графа))

find-taxonomy-uris.xqy

объявить пространство имен xdmp = "http://marklogic.com/xdmp"; объявить пространство имен cts = "http://marklogic.com/cts";

let $ taxonomy-uris: = cts: uri-match ("/ taxonomies / *")

let $ log: = xdmp: log (fn: concat ('/ tools / ingest / find-taxonomy-uris.xqy', 'main module: найденные таксономии:', fn: count ($ taxonomy-uris), 'URIs '),' отладка ')

возврат (fn: count ($ taxonomy-uris), $ taxonomy-uris)

Результат командной строки:

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 "" tools / ingest / insert-taxonomy-triples.x qy 1 tools / ingest / find-taxonomy-uris. xqy "/" meddev-modules false

вход в КОНСОЛЬ 16 июля 2014 г. 10:35:59 com.marklogic.developer.SimpleLogger configureLogger

ИНФОРМАЦИЯ: настройка ведения журнала для: com.marklogic.ps 16 июля 2014 г. 10:35:59 com.marklogic.developer.corb.Manager run

ИНФОРМАЦИЯ: com.marklogic.developer.corb.Manager, запуск: версия 2010-08-24.1 на 1.7 .0_40 (среда выполнения Java (TM) SE) 16 июля 2014 г. 10:35:59 com.marklogic.developer.corb. Менеджер запустить

ИНФОРМАЦИЯ: максимальный размер кучи = 1783 МБ 16 июля 2014 г. 10:35:59 com.marklogic.developer.corb.Manager prepareContentSour ce

ИНФОРМАЦИЯ: использование источника контента xcc: // admin: admin @ localhost: 9002 / meddev-content 16 июля 2014 г., 10:35:59 com.marklogic.developer.corb.Manager registerStatusInfo

ИНФОРМАЦИЯ: настроенные модули db: meddev-modules 16 июля 2014 г. 10:35:59 com.marklogic.developer.corb.Manager registerStatusInfo

ИНФОРМАЦИЯ: Настроенные модули root: / 16 июля 2014 г. 10:35:59 com.marklogic.developer.corb.Manager registerStatusInfo

ИНФОРМАЦИЯ: настроен модуль uri: tools / ingest / find-taxonomy-uris.xqy 16 июля 2014 г. 10:35:59 com.marklogic.developer.corb.Manager registerStatusInfo

ИНФОРМАЦИЯ: Настроенный модуль процесса: tools / ingest / insert-taxonomy-triples.xqy 16 июля 2014 г., 10:35:59 com.marklogic.developer.corb.Manager prepareModules

ИНФОРМАЦИЯ: проверка модулей, база данных: meddev-modules 16 июля 2014 г. 10:35:59 com.marklogic.developer.corb.Manager prepareModules

ИНФОРМАЦИЯ: Пропуск установки модуля: tools / ingest / find-taxonomy-uris.xqy 16 июля 2014 г. 10:35:59 com.marklogic.developer.corb.Manager prepareModules

ИНФОРМАЦИЯ: Пропуск установки модуля: tools / ingest / insert-taxonomy-triples.xqy 16 июля 2014 г. 10:35:59 com.marklogic.developer.corb.Manager populateQueue

ИНФОРМАЦИЯ: заполнение очереди 16 июля 2014 г. 10:35:59 com.marklogic.developer.corb.Manager populateQueue

ИНФОРМАЦИЯ: вызов модуля /tools/ingest/find-taxonomy-uris.xqy 16 июля 2014 г. 10:35:59 com.marklogic.developer.corb.Manager populateQueue

ИНФОРМАЦИЯ: ожидаемая сумма 2 16 июля 2014 г. 10:35:59 com.marklogic.developer.corb.Manager populateQueue

ИНФОРМАЦИЯ: поставлено в очередь 2/2 16 июля 2014 г. 10:35:59 com.marklogic.developer.corb.Monitor monitorResults

ИНФОРМАЦИЯ: мониторинг 2 задачи 16 июля 2014 г. 10:39:29 com.marklogic.developer.corb.Monitor showProgress

ИНФОРМАЦИЯ: завершено 1/2, 0 транзакций в секунду, 1 активная тема 16 июля 2014 г. 10:39:29 com.marklogic.developer.corb.Monitor monitorResults

ИНФОРМАЦИЯ: ожидание завершения работы пула 16 июля 2014 г. 10:39:29 com.marklogic.developer.corb.Monitor monitorResults

ИНФОРМАЦИЯ: выполнены все задачи 2/2, 0 транзакций в секунду, 0 активных потоков


person Navin Rawat    schedule 15.07.2014    source источник


Ответы (1)


Все сообщения, созданные xdmp:log(), будут в ErrorLog.txt (в Linux: /var/opt/MarkLogic/Logs/ErrorLog.txt). В написанной вами команде также используется Roxy Deployer.

Параметр --modules сообщает Корбу, что вы хотите сделать, но вам также необходимо указать либо --collection (строка, обозначающая коллекцию для обработки), либо --uris (модуль, который будет определять, какие документы обрабатывать). Добавьте один из них в свою команду, и вы увидите, что сообщения журнала Корба появятся на консоли.


Основываясь на дополнительной информации, я вижу пару вещей.

  1. find-taxonomy-uris.xqy, по-видимому, нашел два: INFO: queued 2/2.
  2. insert-taxonomy-triples.xqy успешно обработал эти два файла: INFO: completed all tasks 2/2.
  3. У вас есть три xdmp:log() вызова, два из которых передаются в параметре «debug». Значение по умолчанию для уровня журнала файла - информация, что исключает сообщения отладки. В пользовательском интерфейсе администратора перейдите в «Группы» -> «По умолчанию» (при условии, что это имя группы, которое вы используете), прокрутите вниз до «уровня журнала файлов» и установите для него значение «отладка». Это должно заставить появиться эти сообщения. Вы уже должны видеть xdmp:log("xxxxxxxxxxxxxxxx") звонок; ты?

Еще одно наблюдение: поскольку ваша цель - преобразовать RDFXML в тройки MarkLogic, вы можете использовать mlcp, который выполняет это преобразование для вас из коробки. Если вы попробовали это, и это не сработало, это будет полезно знать.

person Dave Cassel    schedule 15.07.2014
comment
Да, ваше предположение верно, он использует Рокси. Я также использую --uris в качестве параметра, например ml local corb --modules = abcd.xqy --uris = xyz.xqy. Но все равно журнал нигде недоступен. - person Navin Rawat; 15.07.2014
comment
Не могли бы вы опубликовать команду, которую вы выполняете, и любой ответ на консоли? Я никогда не видел, чтобы он не отвечал (я один из сопровождающих Roxy). - person Dave Cassel; 15.07.2014
comment
Спасибо, Дэйв. Я обновил свой вопрос, чтобы дать более подробную информацию. Пожалуйста, посмотрите и предложите соответственно. - person Navin Rawat; 16.07.2014