log4j2 не пишет в файл журнала, указанный в xml файле - PullRequest
0 голосов
/ 21 февраля 2020

У меня проблема с log4j2 на моем API Springboot. Мы используем Ubuntu на экземпляре EC2 и не можем получить log4j2. xml, чтобы создать файл журнала там, где мы хотим, или записать файл журнала, который мы вручную создаем в этом месте. Мы проверяли файл xml несколько раз, и, насколько мы можем судить, проблема не в самом файле. Мы также возились с разрешениями на возможность записи файла журнала, и мы не думаем, что это тоже проблема; мы оба очень новички в linux, поэтому мы можем ошибаться.

<Configuration>
    <Properties>
        <Properties>
            <Property name="filename">log/api.log</Property>
            <Property name="LOG_PATTERN">%d{yyyy-MM-dd'T'HH:mm:ss.SSSZ} %p %m%n</Property>
        </Properties>
    </Properties>
    <Appenders>
        <Console name="ConsoleAppender" target="SYSTEM_OUT">
            <PatternLayout
                    pattern="[%-5level] %d{yyyy-MM-dd HH:mm:ss.SSS} [%t] %c{1} - %msg%n"/>
        </Console>
        <File name="MyFile" fileName="log/api.log">
            <PatternLayout
                    pattern="[%-5level] %d{yyyy-MM-dd HH:mm:ss.SSS} [%t] %c{1} - %msg%n"/>
        </File>

        <RollingFile name="appLog"
            fileName="api.log"
            filePattern="application-%d{yyyy-MM-dd}-%i.log">
            <PatternLayout pattern="${LOG_PATTERN}" />
            <Policies>
                <SizeBasedTriggeringPolicy size="19500KB" />
            </Policies>
            <DefaultRolloverStrategy max="1" />
        </RollingFile>
    </Appenders>
    <Loggers>
         <Logger name="org.hibernate.SQL" level="debug" additivity="false">
            <AppenderRef ref="ConsoleAppender"/>
            <AppenderRef ref="MyFile"/>
            <AppenderRef ref="appLog"/>
        </Logger>
        <Logger name="org.hibernate.type.descriptor.sql" level="trace" additivity="false">
            <AppenderRef ref="ConsoleAppender"/>
            <AppenderRef ref="MyFile"/>
            <AppenderRef ref="appLog"/>
        </Logger>

        <Root level="info">
            <AppenderRef ref="ConsoleAppender"/>
            <AppenderRef ref="MyFile"/>
            <AppenderRef ref="appLog"/>
        </Root>
    </Loggers>
</Configuration>

Есть мысли?

1 Ответ

0 голосов
/ 21 февраля 2020

У вас есть два указанных файла; log / api.log и api.log. Log4j создаст их в любом текущем рабочем каталоге при запуске приложения. Поскольку вы не указали, где на самом деле создаются файлы, сказать больше нечего.

...