2015-12-21 56 views
1

我有最新的Spring + MyBatis的Log4j的配置,但没有SQL得到打印出来

Spring 4.2.3 + MyBatis 3.4+ MyBatis-Spring 1.3 

我想SQL得到打印出来,这样配置的log4j这样的:

# Console output... 
log4j.appender.stdout       = org.apache.log4j.ConsoleAppender 
log4j.appender.stdout.Target      = System.out 
log4j.appender.stdout.Threshold     = ALL 
log4j.appender.stdout.layout      = org.apache.log4j.PatternLayout 
log4j.appender.stdout.layout.ConversionPattern = %5p [%t] - %m%n 
#log4j.logger.com.idpweb      = TRACE 
log4j.rootLogger         = ERROR,stdout 
log4j.logger.org.springframework     = DEBUG, stdout 
# SqlMap logging configuration... 
log4j.logger.com.company.dept.mapper.map.SeniorMapper= TRACE 
log4j.logger.com.mybatis        = TRACE 
log4j.logger.java.sql        = TRACE 
log4j.logger.java.sql.Connection      = TRACE 
log4j.logger.java.sql.PreparedStatement    = TRACE 
log4j.logger.java.sql.Statement      = TRACE 
log4j.logger.java.sql.ResultSet      = TRACE 

和项目结构这样的

Project 
    src 
    war 
     WEB-INF 
      applicationContext.xml 
      logj.properties 

但是当应用程序运行时没有打印出来,那么问题是什么?

另一个问题是,追加“fgsdfgsd”以log4j.properties结束后,再重新启动Web应用程序,也不例外得到抛出,所以我怀疑春天不采取

project/war/WEB-INF/log4j.properties 

,因为它是登录configuration.So我搬到log4j.properties到

project/log4j.properties, 

nothing changed. 
+0

您使用的是什么应用程序服务器? – raupach

+0

jetty用于gwt app –

+0

只是一个建议:我不会花时间来修复Log4J 1.x问题。考虑切换到Log4J 2.x.它具有更好的体系结构,webapp支持和性能。可能你的错误会在迁移过程中消失... – Sergey

回答

-1

1,如果你使用Maven项目,然后把log4j.properties的资源文件夹是这样的: 项目/ src目录/主/资源/ log4j.properties 这是默认的l在哪里log4j试图找到它的属性文件。

2,你也可以指定你的log4j配置文件在web.xml是这样的:

(1)添加Log4jConfigListener

<listener> 
     <listener-class>org.springframework.web.util.Log4jConfigListener</listener-class> 
    </listener> 

(2)添加背景PARAM名称 'log4jConfigLocation' 告诉Log4jConfigListener在哪里查找log4j.proterties

<context-param> 
     <param-name>log4jConfigLocation</param-name> 
     <param-value>/WEB-INF/conf/log4j.properties</param-value> 
</context-param> 
+0

我按照你的建议,没有打印出来的控制台。 –

+0

你应该像这样配置你的mybatis映射器日志级别:log4j.logger.yourmapperpkg = debug – Persia

+0

我想我应该告诉mybatis使用log4j explicity,否则默认情况下它会使用commons-loing,问题是我该如何添加:到applicationContext.xml而不添加额外的mybatis_config.xml –