Как настроить логирование в Apache Ignite, sfl4j или log4j - PullRequest
0 голосов
/ 31 мая 2019

Я создал приложение весенней загрузки с Apache Ignite и хочу настроить регистрацию на стороне сервера и клиента.Я следовал инструкциям https://apacheignite.readme.io/docs/logging, но у меня возникли некоторые проблемы с логированием.Для Slf4j

<property name="gridLogger">
    <bean class="org.apache.ignite.logger.slf4j.Slf4jLogger"/>
</property>

на стороне сервера, если я установлю GNITE_QUIET=false, я получаю

SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder".

Хорошо, я добавил libs в $ IGNITE_HOME / libs / ignite-slf4j / slf4j-log4j12 иlog4j

log4j:WARN No appenders could be found for logger (org.apache.ignite.internal.util.typedef.G).
log4j:WARN Please initialize the log4j system properly.

Я пытался установить -Dlog4j.configurationFile = config / log4j.xml, но это не помогает.

На стороне сервера мне удалось настроить ведение журнала с помощью

<property name="gridLogger">
     <bean class="org.apache.ignite.logger.log4j.Log4JLogger">
          <constructor-arg type="java.lang.String" value="log4j.xml"/>
    </bean>
</property>

но при загрузке мс я получил

Caused by: class org.apache.ignite.IgniteCheckedException: Log4j configuration path was not found: config/log4j.xml

Это работает, если я задаю абсолютный путь

<constructor-arg type="java.lang.String"  value="/home/username/work/ignite/config/log4j.xml"/>

, но это не то, что мне нужно.Как мне правильно настроить журналы на стороне сервера / клиента?

1 Ответ

0 голосов
/ 20 июня 2019

Согласно вашей первой ошибке, вы используете maven? Если да, пытались ли вы включить в свой POM-файл следующие зависимости?

    <dependency>
        <groupId>org.slf4j</groupId>
        <artifactId>slf4j-api</artifactId>
        <version>1.7.25</version>
    </dependency>
    <dependency>
        <groupId>org.slf4j</groupId>
        <artifactId>slf4j-simple</artifactId>
        <version>1.7.25</version>
        <scope>test</scope>
    </dependency>

«Путь конфигурации Log4j не найден», вероятно, выброшен, потому что вы поместили свою конфигурацию в папку, которая не является частью вашего проекта. Если вы не хотите использовать полный путь, просто переместите его в папку «resources» проекта.

...