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

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

мл местного корба --modules = abcd.xqy

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

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

Некоторые предпосылки следующие:

  1. Я принял RDFXML через команду roxy

    мл локального развертывания контента

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

мл локальной сети --modules=/tools/ingest/insert-taxonomy-triples.xqy --uris=/tools/ingest/find-taxonomy-uris.xqy

вставки-систематика-triples.xqy

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

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

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

let $ taxonomy-name: = fn: replace (fn: replace ($URI, '/ taxonomies /', ''), '.rdf', '')

let $ graph-name: = fn: concat ($ c: BSI-TAXONOMY-BASE-URI, $ taxonomy-name)

let $ log: = xdmp: log ("xxxxxxxxxxxxxxxx")

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

let $ permissions: = (xdmp:missions ("meddev-role", "update"), xdmp: Разрешение ("meddev-role", "read"))

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

найти-систематика-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', 'основной модуль: найдены таксономии', fn:count($taxonomy-uris), ' URIs) '), 'debug')

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

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

D: \ mdol-dev \ mdol-as> мл локального корба --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

вход в CONSOLE 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

ИНФОРМАЦИЯ: заполнение очереди Jul 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 активных тем

1 ответ

Решение

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

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


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

  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, который выполняет это преобразование для вас из коробки. Если вы попробовали это, и это не сработало, это было бы полезно знать.

Другие вопросы по тегам