0 0

MyBatis3.2.7 log4j日志5

使用log4j输出MyBatis所执行的sql日志时出现如下问题,打算将sql日志单独分出一个文件来存储,但无论怎么配置,sql始终是输出到root文件中,
MyBatis的configuration配置文件中已经指定了使用log4j
<configuration>
	<settings>
		<setting name="logImpl" value="LOG4J" />
	</settings>
</configuration>


log4j配置如下
LOG_DIR=D:/logs/base
#
# Set root category priority to WARN and its only appender to FILE.
#
log4j.rootCategory=DEBUG,ROOT

log4j.category.org.mybatis=DEBUG,MYBATIS
log4j.additivity.org.mybatis=false

log4j.category.org.apache.ibatis=DEBUG,MYBATIS
log4j.additivity.org.apache.ibatis=false

log4j.logger.org.apache=DEBUG
log4j.logger.java.sql.ResultSet=DEBUG
log4j.logger.java.sql.Connection=DEBUG
log4j.logger.java.sql.Statement=DEBUG
log4j.logger.java.sql.PreparedStatement=DEBUG

#

log4j.appender.ROOT=org.apache.log4j.RollingFileAppender
log4j.appender.ROOT.File=${LOG_DIR}/root.log
log4j.appender.ROOT.MaxFileSize=5000000
log4j.appender.ROOT.layout=org.apache.log4j.PatternLayout
log4j.appender.ROOT.layout.ConversionPattern=[%d{ISO8601}] %-5p %-x %X{user} %n     %m%n

log4j.appender.MYBATIS=org.apache.log4j.RollingFileAppender
log4j.appender.MYBATIS.File=${LOG_DIR}/mybatis.log
log4j.appender.MYBATIS.MaxFileSize=5000000
log4j.appender.MYBATIS.layout=org.apache.log4j.PatternLayout
log4j.appender.MYBATIS.layout.ConversionPattern=[%d{ISO8601}] %-5p %-x %X{user} %n     %m%n

问题补充:按照此log4j的配置,sql日志应该输出值mybatis.log文件中,但是实际效果确是输出到了root.log里面
2014年9月04日 11:31

3个答案 按时间排序 按投票排序

0 0

重写 StatementLogger、ConnectionLogger、PreparedStatementLogger、ResultSetLogger类,把里面的日志组件修改为你自己的日志类,保证你想输出到哪里就输出到哪里。

2014年9月05日 16:36
0 0

5.log4j.rootCategory=DEBUG,ROOT 
6. 
7.log4j.category.org.mybatis=DEBUG,MYBATIS 


rootCategory改成rootLogger
category改成logger

2014年9月04日 16:56
0 0

第22行的代码。
log4j.appender.ROOT.File=${LOG_DIR}/root.log

2014年9月04日 11:34

相关推荐

    Maven多模块 + Spring4.0.6 + SpringMVC4.0.6 + Mybatis 3.2.7 + log4j 2.1

    这个项目使用了Maven进行模块化管理,版本分别对应于Spring 4.0.6、SpringMVC 4.0.6和Mybatis 3.2.7,日志处理则采用了log4j 2.1。下面将详细讲解这些技术及其在项目中的应用。 **Maven多模块项目** Maven是一个...

    Springmvc4.0.6+mybatis3.2.7+velocity1.7+log4j2

    框架采用最流行技术springmvc4.0.6,和最流行持久层框架mybatis3.2.7,还有Velocity - 模板引擎,还有最新日志输出log4j2的配置并且分级别输出到不同文件, 感兴趣赶紧下载吧

    mybatis 3.2.7核心包、依赖包、数据驱动包

    3. **slf4j-api-1.x.y.jar** 和 **slf4j-log4j12-1.x.y.jar**:SLF4J(Simple Logging Facade for Java)是一个日志API,而slf4j-log4j12是SLF4J的实现,它将日志记录委托给Log4j。这两个库为MyBatis提供日志支持。 ...

    Spring4.05 Mybatis3.2.7 SpringMVC logback的maven配置demo

    Logback是另一个日志框架,它是Log4j的升级版,提供了更高的性能和更多特性。在这个项目中,Logback将用于记录应用程序的日志信息,帮助开发者追踪错误、调试问题,以及进行性能分析。 5. **Maven**: Maven是一...

    官网 mybatis-3.2.7jar包 下载

    在使用mybatis-3.2.7.jar时,通常还需要包括其他的依赖库,例如slf4j、log4j等日志框架,以及数据库驱动(如mysql-connector-java),这些都需要根据具体项目配置来添加。 总的来说,MyBatis-3.2.7版本是Java开发中...

    springmvc4.2.4-mybatis3.2.7整合jar包

    6. **配置日志**:SSM项目通常会结合Log4j或Logback进行日志记录,便于调试和追踪问题。 7. **单元测试**:使用JUnit和Mockito等工具对Service层进行单元测试,确保业务逻辑的正确性。 8. **整合测试**:通过...

    mybatis-3.2.7.jar 和mybatis-3.2.7.jar

    2. 提供了更好的日志实现,包括对Log4j、SLF4J和Java Util Logging的支持。 3. 错误消息的改进,为开发者提供更清晰的错误定位和解决指导。 4. 可能优化了性能,减少不必要的资源消耗。 5. 对Java 8的支持可能已经...

    mybatis-3.2.7 EHCache2.6.8 oracle 及 测试用例

    3. **日志框架**:为了记录应用程序的日志信息,需要选择一个合适的日志框架,如 Log4j、SLF4J 等,并添加相应的 jar 包。日志框架的选择和配置对于调试和维护非常重要,因此在生产环境中必须仔细考虑。 4. **测试...

    Mybatis环境搭建所需Jar包

    4. **slf4j-api-1.7.25.jar** 和 **slf4j-log4j12-1.7.25.jar**:Simple Logging Facade for Java (SLF4J)是一个为各种日志框架提供一个简单统一的接口,使最终用户能够在部署时插入所需的日志实现。log4j2是实际的...

    MyBatis官方包和源码包+JDBC+中文文档.zip

    总结一下,这个压缩包提供了一个完整的MyBatis开发环境,包括MyBatis框架、MySQL的JDBC驱动以及Log4j日志库,还有针对中国开发者友好的中文文档。这使得开发者可以方便地搭建环境,进行数据库相关的开发工作,同时...

    junit+mysql+mybatis.zip

    log4j-api-2.0-rc1.jar和log4j-core-2.0-rc1.jar分别是Log4j 2.0的API和核心实现库,提供灵活的日志配置和多种日志输出格式。而log4j-1.2.17.jar则是Log4j 1.x版本,虽然较旧,但某些项目可能仍依赖它。commons-...

    MyBatis框架所需jar包

    MyBatis使用SLF4J进行日志记录,你可以根据需求选择具体的日志实现,如Log4j或Java内置的日志系统。 6. **slf4j-log4j12-1.7.25.jar**: 这个库是SLF4J的Log4j实现,如果你决定使用Log4j作为日志记录工具,这个库是...

    mybatis所需的jar包

    这表明包含的文件可能有MyBatis 3.2.7版本的所有jar文件,例如mybatis-3.2.7.jar(MyBatis的核心库)、mybatis-spring-1.x.x.jar(MyBatis与Spring的集成库),以及其他可能的依赖库,如log4j、slf4j等日志框架的jar...

    MySql驱动MyBatis架包,JUnit架包

    Log4j是日志记录框架,这里有两个版本的log4j jar包:log4j-core-2.0-rc1.jar和log4j-1.2.17.jar。Log4j用于记录应用程序的运行日志,帮助开发者追踪错误和调试问题。在MyBatis中,你可以配置Log4j来记录SQL查询和...

    Mybatis开发所需jar包

    其次,日志相关jar包——`log4j`和`servlet-api`,是Mybatis进行日志记录和Web应用支持所必需的。Log4j是Apache的一个开源项目,提供了一种灵活的日志记录方式,可以帮助开发者调试和追踪代码中的问题。而slf4j...

    mybatis项目全部驱动.zip

    mybatis+日志+驱动+junit包 asm-3.3.1 cglib-2.2.2 commons-logging-1.1.1 javassist-3.17.1-GA junit-4.9 log4j-1.2.17 log4j-api-2.0-rc1 log4j-core-2.0-rc1 mybatis-3.2.7 mysql-connector-java-5.1.7...

    mybatis所需jar包

    4. **日志支持**:在描述中提到的“日志jar包”可能指的是MyBatis对日志框架的依赖,如Log4j、SLF4J或Java内置的日志系统。这些日志库用于记录MyBatis执行的SQL语句,帮助开发者调试和优化性能。 5. **事务管理**:...

    mybatis_jar所用到的所有jar包+官方文档

    3. `slf4j-api-x.x.x.jar`和`slf4j-log4j12-x.x.x.jar`:SLF4J(Simple Logging Facade for Java)是一个日志API,而log4j是实现SLF4J的其中一个日志框架,它们用于记录MyBatis框架内部的运行日志。 4. `commons-...

    mybatis必备jar包(最基本)

    4. **log4j-core-2.0-rc1.jar 和 log4j-1.2.17.jar**:Log4j是Java的日志记录框架,这里包含的是Log4j 1.x和2.x的版本。这两个版本用于不同的日志记录需求,MyBatis可以配置使用其中任何一个来记录框架内部的操作和...

Global site tag (gtag.js) - Google Analytics