Кажется, что log4j2 не следует моим правилам прокрутки - PullRequest
0 голосов
/ 26 июня 2019

Мы используем log4j2 для обработки журналов наших приложений, и приложение работает под JBoss EAP 7.1.

В моем файле log4j2.xml я пытаюсь сохранить максимум 5 файлов журналов по 10 МБ каждый, но происходит что-то странное, потому что я получаю 5 или более файлов журнала в день (в зависимости от приложения).Я не знаю, как / почему дата добавляется в мои имена файлов для большинства моих журналов, и почему в некоторых случаях у меня более 5 журналов (в день).

Вот часть моего log4j2.xml:

<RollingFile name="springAppender" fileName="/opt/jboss-eap-7.1/standalone/log/spring.log"
             filePattern="/opt/jboss-eap-7.1/standalone/log/spring-%i.log">
  <PatternLayout> <pattern>%d${ISO8601} [%t] [%X{sessionId}] [%X{orgName}] %-9p %c - %enc{%m}%n</pattern></PatternLayout>
  <Policies>
    <SizeBasedTriggeringPolicy size="10 MB"/>
  </Policies>
      <DefaultRolloverStrategy max="5"/>
</RollingFile>
<RollingFile name="SqlAppender" fileName="/opt/jboss-eap-7.1/standalone/log/sql.log"
             filePattern="/opt/jboss-eap-7.1/standalone/log/sql-%i.log">
  <PatternLayout> <pattern>%d{ISO8601} [%t] [%X{sessionId}] [%X{orgName}] %-9p %c - %enc{%m}%n</pattern></PatternLayout>
  <Policies>
    <SizeBasedTriggeringPolicy size="10 MB"/>
  </Policies>
      <DefaultRolloverStrategy max="5"/>
</RollingFile>

А вот выдержка из моего каталога журналов:

-rw-r--r--. 1 jboss jboss 10485857 May 30 05:26 spring-05-30-2019-1.log

-rw-r--r--. 1 jboss jboss 10485924 May 30 05:34 spring-05-30-2019-2.log

-rw-r--r--. 1 jboss jboss 10485861 May 30 05:40 spring-05-30-2019-3.log

-rw-r--r--. 1 jboss jboss 10485796 May 30 05:49 spring-05-30-2019-4.log

-rw-r--r--. 1 jboss jboss 10485946 May 30 05:56 spring-05-30-2019-5.log

-rw-r--r--. 1 jboss jboss 10485950 May 30 07:43 spring-05-30-2019-6.log

-rw-r--r--. 1 jboss jboss 10485808 May 30 13:13 spring-05-30-2019-7.log

-rw-r--r--. 1 jboss jboss 2302827 Jun 25 17:51 spring.log

-rw-r--r--. 1 jboss jboss 10485766 Jun 25 04:51 sql-1.log

-rw-r--r--. 1 jboss jboss 10485896 Jun 25 04:52 sql-2.log

-rw-r--r--. 1 jboss jboss 10485990 Jun 25 04:54 sql-3.log

-rw-r--r--. 1 jboss jboss 10485874 Jun 25 04:56 sql-4.log

-rw-r--r--. 1 jboss jboss 10485967 Jun 25 04:58 sql-5.log

-rw-r--r--. 1 jboss jboss 5782246 Jun 25 14:55 sql.log

Насколько я вижу, SqlAppender и springAppender структурно одинаковы.Тем не менее, мой sql.log катится по желанию, в то время как spring.log включает дату в свернутом имени файла и сохраняет более 5 файлов.Это медленно заполняет мой жесткий диск.

Я обнаружил в своем каталоге JBoss поиск шаблонов, таких как "\-yyyy\-", которые могли бы подсказать мне другое место, которое могло бы контролировать, как журналы катятся безрезультатно.

Мы работаем в автономном режиме, и в нашем standalone.xml есть periodic-rotating-file-handler, но он управляет server.log.Существует также файл logging.properties, который, как мне кажется, контролирует ведение журнала до тех пор, пока приложение полностью не запустится, и не передает запись в журнал log4j2, но я не вижу там ничего, что, похоже, содержало бы шаблон, который вставил бы дату в мои имена файлов.

Как мне остановить это поведение?

...