Настройка профиля регистрации Wildfly ( logger.debug("test"))

Я хотел бы создать профиль для журналов моего приложения

Мне нужно использовать logger.debug() но если я положу в standalone.xml файл DEBUG я получаю слишком много строк

от <level name="INFO"/> в <level name="DEBUG"/>

.....................
    <subsystem xmlns="urn:jboss:domain:logging:3.0">
        <console-handler name="CONSOLE">
            <level name="DEBUG"/>
            <formatter>
                <named-formatter name="COLOR-PATTERN"/>
            </formatter>
        </console-handler>
        <periodic-rotating-file-handler name="FILE" autoflush="true">
            <formatter>
                <named-formatter name="PATTERN"/>
            </formatter>
            <file relative-to="jboss.server.log.dir" path="server.log"/>
            <suffix value=".yyyy-MM-dd"/>
            <append value="true"/>
        </periodic-rotating-file-handler>
        <logger category="com.arjuna">
            <level name="WARN"/>
        </logger>
        <logger category="org.jboss.as.config">
            <level name="DEBUG"/>
        </logger>
        <logger category="sun.rmi">
            <level name="WARN"/>
        </logger>
        <root-logger>
            <level name="DEBUG"/>
            <handlers>
                <handler name="CONSOLE"/>
                <handler name="FILE"/>
            </handlers>
        </root-logger>
        <formatter name="PATTERN">
            <pattern-formatter pattern="%d{yyyy-MM-dd HH:mm:ss,SSS} %-5p [%c] (%t) %s%e%n"/>
        </formatter>
        <formatter name="COLOR-PATTERN">
            <pattern-formatter pattern="%K{level}%d{HH:mm:ss,SSS} %-5p [%c] (%t) %s%e%n"/>
        </formatter>
    </subsystem>
......................

Я могу создать профиль, который включает только отладку журнала моего приложения?

Я создал свой профиль и добавил в свой MANIFEST.MF, но он не работает

<logging-profiles>
   <logging-profile name="accounts-app-profile">
       <console-handler name="CONSOLE">
           <level name="DEBUG"/>
           <formatter>
              <named-formatter name="COLOR-PATTERN"/>
            </formatter>
       </console-handler>
       <file-handler name="ejb-trace-file">
           <level name="DEBUG"/>
           <file relative-to="jboss.server.log.dir" path="ejb-trace.log"/>
       </file-handler>
       <logger category="com.company.accounts.ejbs">
            <level name="DEBUG"/>
            <handlers>
                <handler name="ejb-trace-file"/>
            </handlers>
       </logger>
       <formatter name="COLOR-PATTERN">
           <pattern-formatter pattern="%K{level}%d{HH:mm:ss,SSS} %-5p [%c] (%t) %s%e%n"/>
       </formatter>
</logging-profile>

MANIFEST.MF

Manifest-Version: 1.0
Logging-Profile: accounts-app-profile

Позвони в регистратор

final static Logger logger = Logger.getLogger("com.company.accounts.ejbs");

logger.debug("debug");
logger.info("info");

файл ejb-trace.log создает, но не пишет внутри

2 ответа

Решение

Профиль регистрации не требуется для того, что вы пытаетесь сделать. Принимая категорию com.company.accounts.ejbsи при условии, что вы хотите, чтобы сообщения из вашего приложения регистрировались в своем собственном файле, следующие команды консоли

/subsystem=logging/file-handler=ejb-trace-file:add(level=DEBUG, file={relative-to=jboss.server.log.dir, path=ejb-trace.log}, autoflush=true)
/subsystem=logging/logger=com.company.accounts.ejbs:add(level=DEBUG, handlers=[ejb-trace-file], use-parent-handlers=false)

Если вы также хотите, чтобы сообщения регистрировались в обработчике консоли или в server.log, вы можете удалить use-parent-handlers=false атрибут или установить его true,

Это может быть старый пост, так как я наткнулся на этот пост, чтобы решить мою проблему, которая описана выше, кто-то в будущем также может прочитать это. По этой причине я хотел бы поделиться своим ответом здесь.

В моем случае я следил за этим постом https://access.redhat.com/documentation/en-us/jboss_enterprise_application_platform/6.2/html/administration_and_configuration_guide/example_logging_profile_configuration и несколькими другими и создал <logging-profile> в standalone.xml файл в wildFly server и создал MANIFEST.MF файл вручную в \src\main\resources\META_INF затем создается файл журнала, но содержимое журнала внутри него не записывается.

Причина в том, что мое приложение использует maven для настройки конфигурации и создания файла манифеста.

Если приложение использует maven для конфигураций сборки или maven плагин для создания manifest.mf файл, то вы должны добавить приведенную ниже информацию в вашем приложении pom.xml файл.

  • если приложение использует maven для конфигураций сборки, затем добавьте следующие строки в pom.xml<build> <plugins> тег
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-war-plugin</artifactId>
                <version>3.0.0</version>
                <configuration>
                    <archive>
                        <manifestFile>src/main/resources/META-INF/MANIFEST.MF</manifestFile>
                    </archive>
                </configuration>
            </plugin> 
  • если приложение использует maven плагин для создания manifest.mf Затем добавьте следующие строки в pom.xml<manifestEntries> то есть в
<build> 
   <plugins> 
     <plugin> 
       <archive> 
        <manifestEntries> 
          <Logging-Profile>myAppLogProfile</Logging-Profile> 
        </manifestEntries>

после добавления этого, если вы делаете mvn clean а также mvn install тогда Logging-Profile: myAppLogProfile линия будет добавлена ​​к вашему MANIFEST.MF файл в файле войны

Manifest-Version: 1.0
Logging-Profile: myAppLogProfile

после этого, когда я повторно разверну его, в файле журнала будет содержимое журнала.

Надеюсь, это кому-нибудь поможет.

Не меняйте root-logger, но добавьте категорию, соответствующую имени пакета, который вы хотите отладить

Другие вопросы по тегам