2015-11-24 2 views
0

Я пытаюсь отделить журналы от приложения. standalone.xml поставляются с предварительно сконфигурированным журналом для консоли и файла. Я создал обработчик файлов для своего приложения и соответствующего регистратора. Но журналы регистрируются в моем приложении.log и server.log.Wildfly Logging - Как предотвратить регистрацию журнала приложений для serve.log

Я подтвердил, что мой веб-приложение не содержит log4j.jar

Может кто-нибудь, дайте мне знать, как предотвратить log4j для входа в server.log и только войти в соответствующий лог-файл приложения?

спасибо!

- веб-сервер приложений: Wildfly 9.0.1

- код standalone.xml

<subsystem xmlns="urn:jboss:domain:logging:3.0"> 
<console-handler name="CONSOLE"> 
    <level name="INFO"/> 
    <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> 

<periodic-rotating-file-handler name="SECVALFILE" autoflush="true"> 
    <formatter> 
     <named-formatter name="PATTERN"/> 
    </formatter> 
    <file relative-to="jboss.server.log.dir" path="securityvalidation.log"/> 
    <suffix value=".yyyy-MM-dd"/> 
    <append value="true"/> 
</periodic-rotating-file-handler> 

<logger category="com.arjuna"> 
    <level name="WARN"/> 
</logger> 
<logger category="org.apache.tomcat.util.modeler"> 
    <level name="WARN"/> 
</logger> 
<logger category="org.jboss.as.config"> 
    <level name="DEBUG"/> 
</logger> 
<logger category="sun.rmi"> 
    <level name="WARN"/> 
</logger> 
<logger category="jacorb"> 
    <level name="WARN"/> 
</logger> 
<logger category="jacorb.config"> 
    <level name="ERROR"/> 
</logger> 

<logger category="com.oracle.securityvalidation"> 
    <level name="DEBUG"/> 
    <handlers> 
     <handler name="SECVALFILE"/> 
    </handlers> 
</logger> 
<root-logger> 
    <level name="INFO"/> 
    <handlers> 
     <handler name="CONSOLE"/> 
     <handler name="FILE"/> 
    </handlers> 
</root-logger> 

......

ответ

2

Я уже нашел этот вопрос.

По умолчанию родительский регистратор обрабатывает любое сообщение. мы можем использовать атрибут logger «use-parent-handlers», чтобы указать, должно ли сообщение обрабатываться родительским регистратором

Большое вам спасибо!

<logger category="com.oracle.securityvalidation" use-parent-handlers="false"> 
<level name="DEBUG"/> 
<handlers> 
    <handler name="SECVALFILE"/> 
</handlers> 

+3

Я бы посоветовал использовать CLI или веб-консоль над редактированием необработанного XML. Команда CLI для изменения значения 'use-parent-handlers' будет; '/subsystem=logging/logger=com.oracle.securityvalidation:write-attribute(name =use-parent-handlers, value = false)'. Преимущество этого заключается в том, что после выполнения команды CLI вам не потребуется останавливать или перезапускать сервер. –

+0

Я этого не знал. Огромное спасибо. – mpssantos

Смежные вопросы