Как настроить журнал CORB для отладки информации XQUery
Я использую CORB для запуска модуля на DB MarkLogic с помощью команды:
мл местного корба --modules = abcd.xqy
И хочу сгенерировать лог этой обработки, для которого я добавил xdmp:log()
в abcd.xqy
, Но я не могу узнать, где генерируется сообщение журнала. Это не в командной строке и не в каталоге журнала MarkLgoic.
Есть ли способ настроить настройки журнала CORB через файл свойств? Если да, то как? или любой другой способ отследить сгенерированное сообщение журнала.
Некоторые предпосылки следующие:
- Я принял RDFXML через команду roxy
мл локального развертывания контента
- Теперь я принимаю RDFXML в качестве входных данных и преобразую их в тройки с помощью вышеупомянутой команды CORB. Он успешно работает.
- В 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 появляются на консоли.
Основываясь на дополнительной информации, я вижу пару вещей.
- find-taxonomy-uris.xqy очевидно нашел два:
INFO: queued 2/2
, - insert-taxonomy-triples.xqy обработал эти два успешно:
INFO: completed all tasks 2/2
, - У вас есть три
xdmp:log()
вызовы, два из которых передают в параметре "debug". Значением по умолчанию для уровня файла журнала является информация, что исключает сообщения отладки. В пользовательском интерфейсе администратора перейдите в Группы -> По умолчанию (при условии, что это имя группы, которое вы используете), прокрутите вниз до уровня файлового журнала и установите для него значение "отладка". Это должно заставить эти сообщения появиться. Вы уже должны видетьxdmp:log("xxxxxxxxxxxxxxxx")
вызов; ты?
Еще одно наблюдение: поскольку ваша цель - преобразовать RDFXML в тройки MarkLogic, вы можете использовать mlcp, который выполняет это преобразование для вас из коробки. Если вы попробовали это, и это не сработало, это было бы полезно знать.