2013-10-11 2 views
0

У меня нет больших знаний в log4j и slf4j. Но я хочу понять, как работает настоящий регистратор в приведенном ниже примере.Как ведение журнала происходит в этом сценарии

У меня есть веб-модуль, сервисный модуль и модуль Dao.Web-модуль имеет зависимость от службы и службы, которая зависит от Dao.

В моем веб-модуле есть 3 банки. slf4j jar, log4j jar и slf4j-log4j12 jar и log4j.xml приведены ниже.

<?xml version="1.0" encoding="UTF-8"?> 
<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd"> 
<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/" debug="true"> 
<!-- ============================== --> 
    <!-- Append messages to the console --> 
    <!-- ============================== --> 

    <appender name="CONSOLE" class="org.apache.log4j.ConsoleAppender"> 
     <errorHandler class="org.jboss.logging.util.OnlyOnceErrorHandler"/> 
     <param name="Target" value="System.out"/> 
     <param name="Threshold" value="INFO"/> 

     <layout class="org.apache.log4j.PatternLayout"> 
     <!-- The default pattern: Date Priority [Category] Message\n --> 
     <param name="ConversionPattern" value="%d{ABSOLUTE} %-5p [%c{1}] %m%n"/> 
     </layout> 
    </appender> 

    <appender name="FILE" class="org.apache.log4j.DailyRollingFileAppender">   



     <param name="file" value="C:\\temp\\web.log" /> 
     <param name="DatePattern" value="'.'yyyy-MM-dd" /> 
     <layout class="org.apache.log4j.PatternLayout"> 
     <param name="ConversionPattern" value="[%t] %d{HH:mm:ss,SSS} %-5p %l - %m%n" /> 
     </layout> 
    </appender> 

<!-- ======================= --> 
    <!-- Setup the Root category --> 
    <!-- ======================= --> 

    <root> 
     <!-- 
     Set the root logger priority via a system property. Note this is parsed by log4j   
     --> 
     <level value="trace" /> 
     <appender-ref ref="CONSOLE"/> 
    </root> 

    <logger name="com.mywork"> 
     <level value="DEBUG" /> 
     <appender-ref ref="FILE" /> 
    </logger> 



    <logger name="org.hibernate"> 
     <level value="ERROR" /> 
     <appender-ref ref="FILE" /> 
    </logger> 

    <logger name="org"> 
     <level value="ERROR" /> 
     <appender-ref ref="FILE" /> 
    </logger> 

</log4j:configuration> 

И в моем сервисном модуле и в модуле dao содержится только баночка slf4j. И данные регистрации в файле. (Данные регистрации всех модулей)

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

Спасибо

ответ

1

Вы явно ограничить орг. * С ERROR уровне. Это эффективно устраняет почти все выходы спящего и весеннего регистраторов. Но исключения, зарегистрированные с уровнем ошибки, все равно должны попасть в файл журнала.

Конфигурации модулей, сконфигурированные в IDE, не имеют значения. Ведение журнала происходит в контейнере JBoss и зависит только от класса пути выполнения.

BTW, я настоятельно рекомендую использовать уровень следа на корневой категории. См. Production settings file for log4j? для получения пояснения.

+0

благодарит Вадзима за обмен знаниями –

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