log4j не использует сторонний appender (SumoLogic) при запуске основного приложения через толстую банку - PullRequest
0 голосов
/ 24 апреля 2018

Я использую плагин maven-assembly-plugin для компиляции толстого фляги. У меня log4j2 и эти зависимости в моем pom.xml:

<dependencies>
    <dependency>
        <groupId>org.apache.logging.log4j</groupId>
        <artifactId>log4j-api</artifactId>
        <version>2.11.0</version>
    </dependency>
    <dependency>
        <groupId>org.apache.logging.log4j</groupId>
        <artifactId>log4j-core</artifactId>
        <version>2.11.0</version>
    </dependency>
    <dependency>
        <groupId>com.sumologic.plugins.log4j</groupId>
        <artifactId>sumologic-log4j2-appender</artifactId>
        <version>1.2</version>
    </dependency>
    <dependency>
        <groupId>org.apache.httpcomponents</groupId>
        <artifactId>httpclient</artifactId>
        <version>4.5.2</version>
    </dependency>
</dependencies>

Когда я настраиваю регистратор в XML-файле log4j, я указываю SumoAppender и приложение вывода на консоль.

Когда я запускаю основное приложение через mvn exec:java, приложение SumoLogic работает.

Однако, когда я компилирую толстый флягу и запускаю приложение через java -jar fatjar.jar, SumoLogic Appender вообще не запускается, и нет никакой ошибки, которая получает вывод.

Я проверил, что класс существует в моем приложении, используя Class.forName("com.sumologic.log4j.SumoLogicAppender"), и пакет действительно существует.

Кто-нибудь знает, что происходит?

1 Ответ

0 голосов
/ 23 мая 2018

У меня была очень похожая проблема - в моем случае mvn camel: run работал нормально, а java -jar - нет.

Добавление сумологического пакета в файл конфигурации log4j2 помогло:

<?xml version="1.0" encoding="UTF-8"?>
<Configuration packages="com.sumologic.log4j">
<Appenders>
<SumoLogicAppender
....

Та же стратегия, что и при создании пользовательских приложений - Как создать собственный приложение в log4j2?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...