log4j 2, используемый с Payara 4, не создает журналов - PullRequest
0 голосов
/ 10 июля 2020

В настоящее время я пытаюсь использовать log4j 2 в пределах .ear, который развертывается на сервере приложений Payara версии 4.1.2. Моя проблема в том, что ничего не регистрируется ни в консоли, ни в файле журнала. Файл журнала «app.log», который я определил в файле log4j2. xml, нигде не существует на моей машине после вызова конечной точки REST, где я использую log4j2. Кто-нибудь знает, в чем может быть проблема?

Записи в моем pom:

        <dependency>
            <groupId>org.apache.logging.log4j</groupId>
            <artifactId>log4j-api</artifactId>
            <version>2.13.3</version>
        </dependency>

        <dependency>
            <groupId>org.apache.logging.log4j</groupId>
            <artifactId>log4j-core</artifactId>
            <version>2.13.3</version>
        </dependency>

my log4j2. xml находится в src / main / resources:

<?xml version="1.0" encoding="UTF-8"?>
<Configuration status="WARN">
    <Appenders>
        <Console name="Console" target="SYSTEM_OUT">
            <PatternLayout pattern="%d{HH:mm:ss.SSS} [%t] %-5level %logger{36} - %msg%n"/>
        </Console>

        <File name="LogToFile" fileName="logs/app.log">
            <PatternLayout>
                <Pattern>%d %p %c{1.} [%t] %m%n</Pattern>
            </PatternLayout>
        </File>

    </Appenders>

    <Loggers>
        <Logger name="package.package" level="info" additivity="false">
            <AppenderRef ref="LogToFile"/>
        </Logger>

        <Root level="error">
            <AppenderRef ref="Console"/>
            <AppenderRef ref="LogToFile"/>
        </Root>
    </Loggers>
</Configuration>

Я использую log4j 2, как показано ниже, как описано во многих онлайн-инструкциях. Он используется внутри контроллера REST, но я удалил ненужные части кода.

import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;

public class App {
    public static final Logger LOGGER = LogManager.getLogger(App.class);

    public Response start() {
        LOGGER.info("START PROCESS");

        ...

        LOGGER.info("PROCESS FINISHED");
        return Response.status(...).entity(...).build();
    }
}

При проведении исследования я обнаружил следующую ветку: { ссылка } Но это касается Payara 5 . Я все равно создал системное свойство fi sh .payara.classloading.delegate = false, но безуспешно.

...