2016-09-09 1 views
2

Я пытаюсь установить уровень состояния моего конфига на «Информация», но я получаю следующий результат:Log4j2: нет log4j-веб-модуль доступен

INFO Log4j appears to be running in a Servlet environment, but there's no log4j-web module available. If you want better web container support, please add the log4j-web JAR to your web archive or server lib directory. 

Мой log4j2.xml имеет следующий

<?xml version="1.0" encoding="UTF-8"?> 
<Configuration status="info" packages="org.graylog2.log4j2"> 
    <Properties> 
     <Property name="default_pattern">%d{MM/dd/yyyy hh:mm:ss} %5p %c{1} - %m%n</Property> 
    </Properties> 

    <!-- LOG4J2 APPENDERS --> 
    <Appenders> 
     <Console name="console" target="SYSTEM_OUT"> 
      <PatternLayout pattern="${default_pattern}"/> 
     </Console> 
     <Console name="com.sum.exam" target="SYSTEM_OUT"> 
      <PatternLayout pattern="${default_pattern}"/>        
     </Console> 
     <Console name="auth" target="SYSTEM_OUT"> 
      <PatternLayout pattern="${default_pattern}"/>        
     </Console> 
     <Console name="com.d.e" target="SYSTEM_OUT"> 
      <PatternLayout pattern="${default_pattern}"/>        
     </Console> 
     <Console name="com.google.gson" target="SYSTEM_OUT"> 
      <PatternLayout pattern="${default_pattern}"/>        
     </Console> 
     <Console name="org.elasticsearch" target="SYSTEM_OUT"> 
      <PatternLayout pattern="${default_pattern}"/>        
     </Console> 
     <Console name="com.datamotion.direct" target="SYSTEM_OUT"> 
      <PatternLayout pattern="${default_pattern}"/>        
     </Console> 
     <NullAppender name="null"> 
      <PatternLayout pattern="${default_pattern}"/> 
     </NullAppender> 

     <!-- GELFJ CONFIGURATION --> 
     <GELF name="gelfAppender" 
       server="org.graylog2.log.GelfAppender" 
       port="12201" 
       hostName="logs.x.d.com" 
       facility="GELF-JAVA" 
       additionalFields="{'\u2018environment\u2019\': '\u2018EHR\u2019'}" 
       extractStacktrace="true" 
       addExtendedInformation="true"> 
      <PatternLayout pattern="${default_pattern}"/> 
      <Root level="info"> 
       <AppenderRef ref="gelfAppender" level="info"/> 
      </Root> 
     </GELF> 
    </Appenders> 

    <!-- LOG4J2 CONFIGURATION --> 
    <Loggers> 
     <Root level="error" additivity="false" /> 

     <Logger name="console" level="info"> 
      <AppenderRef ref="console" /> 
     </Logger> 
     <Logger name="com.sum.exam" level="debug" additivity="false"> 
      <AppenderRef ref="com.sum.exam" /> 
     </Logger> 
     <Logger name="auth" level="debug" additivity="false"> 
      <AppenderRef ref="auth" /> 
     </Logger> 
     <Logger name="com.d.e" level="debug" additivity="false"> 
      <AppenderRef ref="com.d.e" /> 
     </Logger> 
     <Logger name="com.google.gson" level="info"> 
      <AppenderRef ref="com.google.gson" /> 
     </Logger> 
     <Logger name="org.elasticsearch" level="info"> 
      <AppenderRef ref="org.elasticsearch" /> 
     </Logger> 
     <Logger name="com.datamotion.direct" level="debug" additivity="false"> 
      <AppenderRef ref="com.datamotion.direct" /> 
     </Logger> 
    </Loggers> 

</Configuration> 

у меня есть скачать jar файл (log4j-веб-2.6.2.jar) и добавить его в мой класс пути, но я все еще получаю тот же результат, по некоторым причинам. Что я могу делать неправильно? Я могу выводить уровни состояния DEBUG, но не INFO, что является нечетным.

+0

Пожалуйста, покажите свою полную конфигурацию. –

ответ

3

Сначала я думал, что проблема в том, что я иметь servlet-api jar в моем пути к классам, который мне нужен, но удаление, которое не устранило проблему, для меня. В конце концов, все, что мне нужно было сделать, это просто добавить log4 web jar файл от mvnrepository к вашему пути к классу, и вы настроены!

0

status="info" в начале файла конфигурации для внутренних сообщений отладки log4j2. Если вы установите трассировку, вы увидите подробную информацию о том, как настроен log4j2.

Это не имеет никакого отношения к ведению журнала приложений. Вы говорите, что можете выводить отладочные сообщения, я предполагаю, что это означает, что сам журнал работает как ожидалось (Если есть проблема, пожалуйста, сообщите полную конфигурацию.)