当似乎没有错误时,为什么Spring日志消息列为[ERROR]?

时间:2011-11-16 00:32:35

标签: spring gwt maven maven-plugin

我有一个GWT / Spring应用程序,使用Maven和gwt-maven-plugin构建。

当我跑步时

mvn gwt:run

gwt-maven-plugin运行应用程序,一切都启动并运行良好。令我困扰的是,即使没有明显的错误,日志消息也会在每一行上声明[错误],并且没有任何消息说明错误可能是什么。

我的猜测是每个日志行的[错误]来自gwt-maven-plugin,因为之后的内容似乎是Spring的日志消息,如此... [ERROR] INFO: 当我使用mvn jetty运行应用程序时:运行,我只看到INFO:部分消息。

附加大部分日志标准输出。有没有人看到这样的日志输出,或者有什么可能导致插件将信息消息记录为错误消息的想法?

[INFO] ------------------------------------------------------------------------
[INFO] Building GWT Maven Archetype 1.0-SNAPSHOT
[INFO] ------------------------------------------------------------------------
[INFO] 
[INFO] >>> gwt-maven-plugin:2.4.0:run (default-cli) @ gwt >>>
[INFO] 
[INFO] --- maven-resources-plugin:2.4.3:resources (default-resources) @ gwt ---
[INFO] Using 'UTF-8' encoding to copy filtered resources.
[INFO] Copying 10 resources
[INFO] 
[INFO] --- maven-compiler-plugin:2.3.2:compile (default-compile) @ gwt ---
[INFO] Nothing to compile - all classes are up to date
[INFO] 
[INFO] --- maven-war-plugin:2.1.1:exploded (default) @ gwt ---
[INFO] Exploding webapp
[INFO] Assembling webapp [gwt] in [/home/jay/workspace/buildtimer/target/gwt-1.0-    SNAPSHOT]
[INFO] Processing war project
[INFO] Copying webapp resources [/home/jay/workspace/buildtimer/src/main/webapp]
[INFO] Webapp assembled in [169 msecs]
[INFO] 
[INFO] <<< gwt-maven-plugin:2.4.0:run (default-cli) @ gwt <<<
[INFO] 
[INFO] --- gwt-maven-plugin:2.4.0:run (default-cli) @ gwt ---
[INFO] create exploded Jetty webapp in /home/jay/workspace/buildtimer/target/gwt-1.0-    SNAPSHOT
[INFO] auto discovered modules [com.buildtimer.Main]
[ERROR] Nov 14, 2011 7:38:44 PM org.springframework.web.context.ContextLoader     initWebApplicationContext
[ERROR] INFO: Root WebApplicationContext: initialization started
[ERROR] Nov 14, 2011 7:38:44 PM     org.springframework.context.support.AbstractApplicationContext prepareRefresh
[ERROR] INFO: Refreshing Root WebApplicationContext: startup date [Mon Nov 14 19:38:44     EST 2011]; root of context hierarchy
[ERROR] Nov 14, 2011 7:38:44 PM     org.springframework.beans.factory.xml.XmlBeanDefinitionReader loadBeanDefinitions
[ERROR] INFO: Loading XML bean definitions from class path resource [META-    INF/applicationContext.xml]
[ERROR] Nov 14, 2011 7:38:44 PM     org.springframework.beans.factory.xml.XmlBeanDefinitionReader loadBeanDefinitions
[ERROR] INFO: Loading XML bean definitions from class path resource [META-    INF/applicationContext-persistence.xml]
[ERROR] Nov 14, 2011 7:38:44 PM     org.springframework.beans.factory.support.DefaultListableBeanFactory     preInstantiateSingletons
[ERROR] INFO: Pre-instantiating singletons in     org.springframework.beans.factory.support.DefaultListableBeanFactory@1e42c6e: defining beans     [org.springframework.aop.config.internalAutoProxyCreator,org.springframework.transaction.ann    otation.AnnotationTransactionAttributeSource#0,org.springframework.transaction.interceptor.T    ransactionInterceptor#0,org.springframework.transaction.config.internalTransactionAdvisor,tr    ansactionManager,buildDao,dataSource,sessionFactory]; root of factory hierarchy
[ERROR] Nov 14, 2011 7:38:45 PM     org.springframework.jdbc.datasource.DriverManagerDataSource setDriverClassName
[ERROR] INFO: Loaded JDBC driver: com.mysql.jdbc.Driver
[ERROR] SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder".
[ERROR] SLF4J: Defaulting to no-operation (NOP) logger implementation
[ERROR] SLF4J: See http://www.slf4j.org/codes.html#StaticLoggerBinder for further     details.
[ERROR] Nov 14, 2011 7:38:46 PM     org.springframework.orm.hibernate3.LocalSessionFactoryBean buildSessionFactory
[ERROR] INFO: Building new Hibernate SessionFactory
[ERROR] Nov 14, 2011 7:38:48 PM     org.springframework.orm.hibernate3.LocalSessionFactoryBean updateDatabaseSchema
[ERROR] INFO: Updating database schema for Hibernate SessionFactory
[ERROR] Nov 14, 2011 7:38:48 PM     org.springframework.orm.hibernate3.HibernateTransactionManager afterPropertiesSet
[ERROR] INFO: Using DataSource     [org.springframework.jdbc.datasource.DriverManagerDataSource@1b0e438] of Hibernate     SessionFactory for HibernateTransactionManager

我的web.xml日志记录配置是

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE web-app
    PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
    "http://java.sun.com/dtd/web-app_2_3.dtd">
<web-app>
...
<context-param>
    <param-name>log4jConfigLocation</param-name>
    <param-value>/WEB-INF/classes/log4j.properties.xml</param-value>
</context-param>
<listener>
    <listener-class>org.springframework.web.util.Log4jConfigListener</listener-class>
</listener>
...
</web-app>

我的log4j.properties.xml文件

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">

<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/">

<appender name="rootAppender" class="org.apache.log4j.FileAppender" >
    <param name="file" value="app.log"/>
    <layout class="org.apache.log4j.PatternLayout">
        <param name="ConversionPattern" value="%d %-5p %c - %m%n"/>
    </layout>
</appender>

<root>
    <priority value ="warn" />
    <appender-ref ref="rootAppender" />
</root>
</log4j:configuration>

1 个答案:

答案 0 :(得分:1)

不确定它有多关联,但是您的日志表明SLF4J日志记录框架未正确初始化

[ERROR] SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder".
[ERROR] SLF4J: Defaulting to no-operation (NOP) logger implementation
[ERROR] SLF4J: See http://www.slf4j.org/codes.html#StaticLoggerBinder for further     details.

确保你的pom中有三个依赖项(SLF4J,log4j绑定和log4j本身)

<dependency>
    <groupId>org.slf4j</groupId>
    <artifactId>slf4j-api</artifactId>
    <scope>compile</scope>
    <version>${slf4j.version}</version>
</dependency>
<dependency>
    <groupId>org.slf4j</groupId>
    <artifactId>slf4j-log4j12</artifactId>
    <scope>runtime</scope>
    <version>${slf4j.version}</version>
</dependency>
<dependency>
    <groupId>log4j</groupId>
    <artifactId>log4j</artifactId>
    <scope>runtime</scope>
    <version>1.2.16</version>
</dependency>