Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

SLF4J + Logback does not log in WildFly

Tags:

I run web application in WildFly 8 and for some reason it does not log. I use SLF4J with LOGBACK. The log file is created on deploy but it is empty. I do not see my log statements in wildfly logs either.

The class contains:

package com.blah.oops; import org.slf4j.Logger; import org.slf4j.LoggerFactory;  static final Logger log = LoggerFactory.getLogger(EndpointImpl.class);  log.debug("request called"); 

War contains:

  • WEB-INF\lib\slf4j-api-1.7.5.jar
  • WEB-INF\lib\logback-classic-1.1.1.jar
  • WEB-INF\lib\logback-core-1.1.1.jar
  • WEB-INF\classes\logback.xml

Configuration file logback.xml contains:

<configuration scan="true" scanPeriod="10 seconds">     <appender name="FILE" class="ch.qos.logback.core.FileAppender">         <file>${LOG_PATH}/backend-main.log</file>         <encoder>             <pattern>%date %level [%thread] %logger{10} %msg%n</pattern>         </encoder>     </appender>      <!-- PROFILER configuration -->     <turboFilter class="ch.qos.logback.classic.turbo.MarkerFilter">         <Marker>PROFILER</Marker>         <OnMatch>ACCEPT</OnMatch>         <!--  <OnMatch>DENY</OnMatch> -->     </turboFilter>      <logger name="org.eclipse.jetty.util.log" level="info"/>     <logger name="com.blah" level="debug"/>     <logger name="org.apache.cxf" level="warn"/>      <root level="info">         <appender-ref ref="FILE"/>     </root> </configuration> 

console.log contains logback initialization:

.[0m.[0m10:19:52,716 INFO  [stdout] (MSC service thread 1-2) 10:19:52,489 |-INFO in ch.qos.logback.classic.LoggerContext[default] - Could NOT find resource [logback.groovy] .[0m.[0m10:19:52,717 INFO  [stdout] (MSC service thread 1-2) 10:19:52,489 |-INFO in ch.qos.logback.classic.LoggerContext[default] - Could NOT find resource [logback-test.xml] .[0m.[0m10:19:52,717 INFO  [stdout] (MSC service thread 1-2) 10:19:52,490 |-INFO in ch.qos.logback.classic.LoggerContext[default] - Found resource [logback.xml] at [vfs:/content/backend.war/WEB-INF/classes/logback.xml] .[0m.[0m10:19:52,717 INFO  [stdout] (MSC service thread 1-2) 10:19:52,501 |-INFO in ch.qos.logback.core.joran.spi.ConfigurationWatchList@666dc663 - URL [vfs:/content/backend.war/WEB-INF/classes/logback.xml] is not of type file .[0m.[0m10:19:52,717 INFO  [stdout] (MSC service thread 1-2) 10:19:52,524 |-INFO in ch.qos.logback.classic.joran.action.ConfigurationAction - debug attribute not set .[0m.[0m10:19:52,717 INFO  [stdout] (MSC service thread 1-2) 10:19:52,529 |-INFO in ch.qos.logback.classic.joran.action.ConfigurationAction - Setting ReconfigureOnChangeFilter scanning period to 10 seconds .[0m.[0m10:19:52,718 INFO  [stdout] (MSC service thread 1-2) 10:19:52,529 |-INFO in ReconfigureOnChangeFilter{invocationCounter=0} - Will scan for changes in [[]] every 10 seconds. .[0m.[0m10:19:52,718 INFO  [stdout] (MSC service thread 1-2) 10:19:52,529 |-INFO in ch.qos.logback.classic.joran.action.ConfigurationAction - Adding ReconfigureOnChangeFilter as a turbo filter .[0m.[0m10:19:52,718 INFO  [stdout] (MSC service thread 1-2) 10:19:52,532 |-ERROR in ch.qos.logback.core.joran.action.PropertyAction - Could not find resource [acquirer.properties]. .[0m.[0m10:19:52,718 INFO  [stdout] (MSC service thread 1-2) 10:19:52,532 |-INFO in ch.qos.logback.core.joran.action.AppenderAction - About to instantiate appender of type [ch.qos.logback.core.ConsoleAppender] .[0m.[0m10:19:52,718 INFO  [stdout] (MSC service thread 1-2) 10:19:52,535 |-INFO in ch.qos.logback.core.joran.action.AppenderAction - Naming appender as [jettyConsole] .[0m.[0m10:19:52,718 INFO  [stdout] (MSC service thread 1-2) 10:19:52,572 |-INFO in ch.qos.logback.core.joran.action.AppenderAction - About to instantiate appender of type [ch.qos.logback.core.FileAppender] .[0m.[0m10:19:52,719 INFO  [stdout] (MSC service thread 1-2) 10:19:52,573 |-INFO in ch.qos.logback.core.joran.action.AppenderAction - Naming appender as [FILE] .[0m.[0m10:19:52,719 INFO  [stdout] (MSC service thread 1-2) 10:19:52,575 |-INFO in ch.qos.logback.core.joran.action.NestedComplexPropertyIA - Assuming default type [ch.qos.logback.classic.encoder.PatternLayoutEncoder] for [encoder] property .[0m.[0m10:19:52,719 INFO  [stdout] (MSC service thread 1-2) 10:19:52,576 |-INFO in ch.qos.logback.core.FileAppender[FILE] - File property is set to [/var/log/blah/backend-main.log] .[0m.[0m10:19:52,719 INFO  [stdout] (MSC service thread 1-2) 10:19:52,591 |-INFO in ch.qos.logback.classic.joran.action.LoggerAction - Setting level of logger [org.eclipse.jetty.util.log] to INFO .[0m.[0m10:19:52,719 INFO  [stdout] (MSC service thread 1-2) 10:19:52,592 |-INFO in ch.qos.logback.classic.joran.action.LoggerAction - Setting level of logger [com.blah] to DEBUG .[0m.[0m10:19:52,719 INFO  [stdout] (MSC service thread 1-2) 10:19:52,592 |-INFO in ch.qos.logback.classic.joran.action.LoggerAction - Setting level of logger [org.apache.cxf] to WARN .[0m.[0m10:19:52,720 INFO  [stdout] (MSC service thread 1-2) 10:19:52,592 |-INFO in ch.qos.logback.classic.joran.action.RootLoggerAction - Setting level of ROOT logger to INFO .[0m.[0m10:19:52,720 INFO  [stdout] (MSC service thread 1-2) 10:19:52,713 |-INFO in ch.qos.logback.core.joran.action.AppenderRefAction - Attaching appender named [FILE] to Logger[ROOT] .[0m.[0m10:19:52,720 INFO  [stdout] (MSC service thread 1-2) 10:19:52,713 |-INFO in ch.qos.logback.classic.joran.action.ConfigurationAction - End of configuration. .[0m.[0m10:19:52,720 INFO  [stdout] (MSC service thread 1-2) 10:19:52,714 |-INFO in ch.qos.logback.classic.joran.JoranConfigurator@30fbc21e - Registering current configuration as safe fallback point 

It seems to me that LOGBACK is successfully configured. But log messages are lost. Any idea what is going there? It makes me no sense.

like image 674
Leos Literak Avatar asked Apr 15 '14 09:04

Leos Literak


People also ask

Does SLF4J support Logback?

SLF4J supports popular logging frameworks, namely log4j, java. util. logging, Simple logging and NOP. The logback project supports SLF4J natively.

Is SLF4J and Logback same?

Logback and SLF4J can be primarily classified as "Log Management" tools. According to the StackShare community, Logback has a broader approval, being mentioned in 4 company stacks & 9 developers stacks; compared to SLF4J, which is listed in 5 company stacks and 7 developer stacks.

What does WildFly use for logging?

By default WildFly uses a periodic log handler and will create a log for every calendar day. This is different than WebSphere or Jboss, and may not be the desired format for many customers. Luckily WildFly has highly customizable logging. Open the WildFly Admin Console (http://<host>:9990/console by default).


1 Answers

WildFly adds slf4j as a default logging dependency Have you tried excluding the main implementation in jboss-deployment-structure.xml descriptor (It should go under the META-INF directory). This can be done with below lines:

<?xml version="1.0" encoding="UTF-8"?> <jboss-deployment-structure>   <deployment>     <exclusions>       <module name="org.apache.commons.logging" />       <module name="org.apache.log4j" />       <module name="org.jboss.logging" />       <module name="org.jboss.logging.jul-to-slf4j-stub" />       <module name="org.jboss.logmanager" />       <module name="org.jboss.logmanager.log4j" />       <module name="org.slf4j" />       <module name="org.slf4j.impl" />     </exclusions>   </deployment> </jboss-deployment-structure> 
like image 145
tmarwen Avatar answered Oct 20 '22 09:10

tmarwen