Задача:
Необходимо часть логов EAR-проекта выводить не в общий файл, а в отдельный.
Решение:
1. В коде такие логи помечаются отдельной категорией, например mrMonro.
2. В standalone.xml создается профиль для вывода строчек этой категории
3. Замечание. По умолчанию, установлено значение use-parent-handlers = "true". Это означает, что данные будут выводиться как во вновь созданный файл, так и в основной файл логов сервера (как правило server.log, конфигурация name="FILE"). Что бы избежать этого, атрибут надо принудительно сбросить.
Необходимо часть логов EAR-проекта выводить не в общий файл, а в отдельный.
Решение:
1. В коде такие логи помечаются отдельной категорией, например mrMonro.
private static final Logger dump = Logger.getLogger("mrMonro");
2. В standalone.xml создается профиль для вывода строчек этой категории
<subsystem xmlns="urn:jboss:domain:logging:3.0">
...
<periodic-rotating-file-handler name="MRMONRO_FILE" autoflush="true">
<formatter>
<named-formatter name="MRMONRO-PATTERN"/>
</formatter>
<file relative-to="jboss.server.log.dir" path="mr-monro.log"/>
<suffix value=".yyyy-MM-dd"/>
<append value="true"/>
</periodic-rotating-file-handler>
...
<logger category="mrMonro">
<handlers>
<handler name="MRMONRO_FILE"/>
</handlers>
</logger>
...
<formatter name="MRMONRO-PATTERN">
<pattern-formatter pattern="%K{level}%d{HH:mm:ss,SSS} %-5p [%c] %s%e%n"/>
</formatter>
</subsystem>
3. Замечание. По умолчанию, установлено значение use-parent-handlers = "true". Это означает, что данные будут выводиться как во вновь созданный файл, так и в основной файл логов сервера (как правило server.log, конфигурация name="FILE"). Что бы избежать этого, атрибут надо принудительно сбросить.
...
<logger category="mrMonro" use-parent-handlers="false">
<handlers>
<handler name="MRMONRO_FILE"/>
</handlers>
</logger>
...
Комментариев нет:
Отправить комментарий