2016-12-18 3 views
2

Я использую пакет (ravro), который, в свою очередь, использует rJava для вызова библиотеки Avro Java для выполнения своей работы. Эта библиотека использует log4j для регистрации и, когда я использую одну из функций из ravro я получаю недостающие log4j конфигурации сообщение:R: как настроить log4j.properties на Java classpath для процессов rJava

log4j:WARN No appenders could be found for logger (org.apache.hadoop.metrics2.lib.MutableMetricsFactory). 
log4j:WARN Please initialize the log4j system properly. 
log4j:WARN See http://logging.apache.org/log4j/1.2/faq.html#noconfig for more info. 

Я знаю, что, чтобы избавиться от этих сообщений я просто необходимо создать минимум log4j.properties файл и поместите его в путь к классам. Вопрос в том, как это сделать в R? Я попытался использовать .jaddclassPath, с каталогом, содержащим файл log4j.properties, но это, похоже, не сработало.

ответ

1

Если вы используете ravro в контексте анализа, мне повезло с размещением log4j.properties в рабочем каталоге и добавлением этого в classPath с rJava::.jinit(getwd()). Вы можете проверить и убедиться, что каталог добавлен с rJava::.jclassPath().

В контексте разработки пакета, я скопировал rJavaPackageExample и приложил rJava::.jaddClassPath(file.path(getwd(), "inst/java")) в конце .onLoad.

Смежные вопросы