• MyBatis3 用log4j在控制台输出 SQL


    用log4j在控制台输出 SQL

    在spring-mybatis.xml中配置

    <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
            <property name="dataSource" ref="druidDataSource"/>
            <property name="configLocation" value="classpath:config/mybatis.xml"/><!-- 指定Mybatis配置文件地址 -->
            <property name="mapperLocations" value="classpath*:cn/tibet/cas/xml/*.xml"/>
            <property name="typeAliasesPackage" value="cn.tibet.cas.domain"/>
            <!-- Mybatis_PageHelper 分页插件配置 -->
            <property name="plugins">
                <array>
                    <bean class="com.github.pagehelper.PageHelper">
                        <property name="properties">
                            <value>
                                dialect=mysql
                                offsetAsPageNum=true
                                rowBoundsWithCount=true
                                reasonable=true
                            </value>
                        </property>
                    </bean>
                </array>
            </property>
        </bean>
    

    在mybatis.xml中,指定使用log4j为日志实现,

    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
            "http://mybatis.org/dtd/mybatis-3-config.dtd">
    <configuration>
        <settings>
            <setting name="logImpl" value="LOG4J"/>
        </settings>
    </configuration>
    

    这里的value值可以是SLF4J、Apache Commons Logging、Log4J2、Log4J、JDK logging(除Log4J2、Log4J外,其他未验证),并会按顺序查找

    在web.xml中也需要配置

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

    或(未测试)

    <listener>
            <listener-class>org.apache.logging.log4j.web.Log4jServletContextListener</listener-class>
        </listener>
    

    最后配置log4j.properties

    ### Log4j配置 ###
    ### 与Spring结合需要在web.xml中指定此文件位置,并添加监听器 ###
    #定义log4j的输出级别和输出目的地(目的地可以自定义名称,和后面的对应)
    #[ level ] , appenderName1 , appenderName2
    log4j.rootLogger=DEBUG,console,file
    
    #-----------------------------------#
    #1 定义日志输出目的地为控制台
    log4j.appender.console = org.apache.log4j.ConsoleAppender
    log4j.appender.console.Target = System.out
    log4j.appender.console.Threshold=DEBUG
    ####可以灵活地指定日志输出格式,下面一行是指定具体的格式 ###
    #%c: 输出日志信息所属的类目,通常就是所在类的全名
    #%m: 输出代码中指定的消息,产生的日志具体信息 
    #%n: 输出一个回车换行符,Windows平台为"/r/n",Unix平台为"/n"输出日志信息换行
    log4j.appender.console.layout = org.apache.log4j.PatternLayout
    log4j.appender.console.layout.ConversionPattern=[%c]-%m%n
    
    #-----------------------------------#
    #2 文件大小到达指定尺寸的时候产生一个新的文件 
    log4j.appender.file = org.apache.log4j.RollingFileAppender
    #日志文件输出目录
    log4j.appender.file.File=log/tibet.log
    #定义文件最大大小
    log4j.appender.file.MaxFileSize=10mb
    ###输出日志信息###
    #最低级别
    log4j.appender.file.Threshold=ERROR
    log4j.appender.file.layout=org.apache.log4j.PatternLayout
    log4j.appender.file.layout.ConversionPattern=[%p][%d{yy-MM-dd}][%c]%m%n
    
    #-----------------------------------#
    #3 druid
    log4j.logger.druid.sql=INFO
    log4j.logger.druid.sql.DataSource=info
    log4j.logger.druid.sql.Connection=info
    log4j.logger.druid.sql.Statement=info
    log4j.logger.druid.sql.ResultSet=info
     
    #4 mybatis 显示SQL语句部分
    log4j.logger.org.mybatis=DEBUG
    #log4j.logger.cn.tibet.cas.dao=DEBUG
    #log4j.logger.org.mybatis.common.jdbc.SimpleDataSource=DEBUG#
    #log4j.logger.org.mybatis.common.jdbc.ScriptRunner=DEBUG#
    #log4j.logger.org.mybatis.sqlmap.engine.impl.SqlMapClientDelegate=DEBUG#
    #log4j.logger.java.sql.Connection=DEBUG
    log4j.logger.java.sql=DEBUG
    log4j.logger.java.sql.Statement=DEBUG
    log4j.logger.java.sql.ResultSet=DEBUG
    log4j.logger.java.sql.PreparedStatement=DEBUG
    

    参考:
    http://www.cnblogs.com/rufus-hua/p/5088528.html
    http://www.cnblogs.com/yjmyzz/p/4033729.html
    http://blog.csdn.net/u012345283/article/details/39262279
    http://www.cnblogs.com/pigtail/archive/2013/02/16/2913195.html(其他组件的配置)

  • 相关阅读:
    j2ee四大作用域pagecontext,request,session,ServletContext(转)
    ActionErrors 使用说明 struts1 validate 处理流程 详细教程(转)
    Structs1 -配置例子(转)
    2016年3月19日 培训复习
    抽象类中的抽象方法也是默认public的么(类似于interface)?
    积分商城1期设计
    积分商城1期设计
    android使用模拟机测试时,若要联网IP地址该怎么写?
    JS和CSS压缩部署,提高访问效率
    JS和CSS压缩部署,提高访问效率
  • 原文地址:https://www.cnblogs.com/yes-V-can/p/5685384.html
Copyright © 2020-2023  润新知