1

Struts application can not start with log4j. What is wrong? Here is log4j.properties:

# Direct to stdout
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.Target=System.out
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%d{ABSOLUTE} %5p %c{1}:%L - %m%n

# Root logger option
log4j.rootLogger=INFO, stdout

# Good for troubleshooting
log4j.logger.org.hibernate=INFO

# Log JDBC parameters
log4j.logger.org.hibernate.type=ALL

Struts startup failed due to logging errors.

INFO: Starting Servlet Engine: Apache Tomcat/7.0.55
апр 28, 2015 3:42:01 PM org.apache.catalina.core.StandardContext filterStart
SEVERE: Exception starting filter struts2
java.lang.NoSuchMethodError: org.slf4j.spi.LocationAwareLogger.log(Lorg/slf4j/Marker;Ljava/lang/String;ILjava/lang/String;Ljava/lang/Throwable;)V
    at org.apache.commons.logging.impl.SLF4JLocationAwareLog.info(SLF4JLocationAwareLog.java:120)
    at com.opensymphony.xwork2.util.logging.commons.CommonsLogger.info(CommonsLogger.java:42)
    at com.opensymphony.xwork2.config.providers.XmlConfigurationProvider.register(XmlConfigurationProvider.java:175)
    at org.apache.struts2.config.StrutsXmlConfigurationProvider.register(StrutsXmlConfigurationProvider.java:102)
    at com.opensymphony.xwork2.config.impl.DefaultConfiguration.reloadContainer(DefaultConfiguration.java:234)
    ...

апр 28, 2015 3:42:01 PM org.apache.catalina.core.StandardContext startInternal
SEVERE: Error filterStart
апр 28, 2015 3:42:01 PM org.apache.catalina.core.StandardContext startInternal
SEVERE: Context [/Struts2HiberQuize_last] startup failed due to previous errors
Roman C
  • 49,761
  • 33
  • 66
  • 176
andy007
  • 907
  • 1
  • 15
  • 41

1 Answers1

1

Your application server is failing to start due to problems with SLF4J (Simple Logging Facade for Java), not Log4j. You are probably:

  1. including an old version of SLF4J, or
  2. mixing multiple versions of SLF4J (one of which old), or
  3. there is an old SLF4J version in the application server's shared libraries.

To fix this,

Community
  • 1
  • 1
Andrea Ligios
  • 49,480
  • 26
  • 114
  • 243