IDEA 搭建spring+maven+mybatis+mysql+junit+log4j2

https://www.cnblogs.com/toutou/p/ssm_springmvc.html

https://www.cnblogs.com/toutou/p/ssm_springmvc.html

码云地址:https://gitee.com/aaronRhythm/callcenter

遇到问题:

1、log4j修改为log4j2时,Mybatis增加如下配置项将SQL输出到日志:,启动TOMCAT失败。

  【解决】:可能是Mybatis版本问题,可在POM添加3.3.0的版本:3.3.0

        
        <dependency>
            <groupId>org.mybatisgroupId>
            <artifactId>mybatisartifactId>
            <version>${mybatis.version}version>
        dependency>    

2、项目启动日志没打印

  【解决】:添加下述配置后,就能在项目启动时加载log4j2


    
    <listener>
        <listener-class>org.apache.logging.log4j.web.Log4jServletContextListenerlistener-class>
    listener>
    
    <filter>
        <filter-name>log4jServletFilterfilter-name>
        <filter-class>org.apache.logging.log4j.web.Log4jServletFilterfilter-class>
    filter>
    <filter-mapping>
        <filter-name>log4jServletFilterfilter-name>
        <url-pattern>/*url-pattern>
        <dispatcher>REQUESTdispatcher>
        <dispatcher>FORWARDdispatcher>
        <dispatcher>INCLUDEdispatcher>
        <dispatcher>ERRORdispatcher>
    filter-mapping>
    

  log4j2.xml的配置如下:

xml version="1.0" encoding="UTF-8"?>



<configuration status="WARN" monitorInterval="30">
    <Properties>
        
        <Property name="logFilePath">${sys:user.home}/logsProperty>
        <Property name="logFileName">iac_test.logProperty>
    Properties>
    
    <Appenders>
        
        <console name="Console" target="SYSTEM_OUT">
            
            <PatternLayout pattern="[%d{yyyy-MM-dd HH:mm:ss:SSS}] [%p] - %l - %m%n"/>
        console>
        
        
        <File name="TestLog" fileName="${logFilePath}/${logFileName}" append="false">
            <PatternLayout pattern="%d{yyyy-MM-dd HH:mm:ss.SSS} [%-5level] %class{36} %L %M - %msg%xEx%n"/>
        File>
        
        

        
        <RollingFile name="RollingFileDebug" fileName="${logFilePath}/iac_debug.log"
                     filePattern="${sys:user.home}/logs/$${date:yyyy-MM}/iac_info-%d{yyyy-MM-dd}-%i.log">
            
            
            <ThresholdFilter level="debug" onMatch="ACCEPT" onMismatch="DENY"/>
            <PatternLayout pattern="[%d{yyyy-MM-dd HH:mm:ss:SSS}] [%p] - %l - %m%n"/>
            
            <Policies>
                
                <TimeBasedTriggeringPolicy interval="6" modulate="true"/>
                
                <SizeBasedTriggeringPolicy size="100 MB"/>
            Policies>
            
            <DefaultRolloverStrategy max="20"/>
        RollingFile>

        
        <RollingFile name="RollingFileInfo" fileName="${logFilePath}/iac_info.log"
                     filePattern="${sys:user.home}/logs/$${date:yyyy-MM}/iac_info-%d{yyyy-MM-dd}-%i.log">
            
            
            <ThresholdFilter level="info" onMatch="ACCEPT" onMismatch="DENY"/>
            <PatternLayout pattern="[%d{yyyy-MM-dd HH:mm:ss:SSS}] [%p] - %l - %m%n"/>
            
            <Policies>
                
                <TimeBasedTriggeringPolicy interval="6" modulate="true"/>
                
                <SizeBasedTriggeringPolicy size="100 MB"/>
            Policies>
            
            <DefaultRolloverStrategy max="90"/>
        RollingFile>

        
        

        
        <RollingFile name="RollingFileError" fileName="${logFilePath}/iac_error.log"
                     filePattern="${sys:user.home}/logs/$${date:yyyy-MM}/error-%d{yyyy-MM-dd}-%i.log">
            <ThresholdFilter level="error" onMatch="ACCEPT" onMismatch="DENY"/>
            <PatternLayout pattern="[%d{yyyy-MM-dd HH:mm:ss:SSS}] [%p] - %l - %m%n"/>
            <Policies>
                <TimeBasedTriggeringPolicy/>
                <SizeBasedTriggeringPolicy size="100 MB"/>
            Policies>
        RollingFile>

    Appenders>

    
    <Loggers>
        
        
        <logger name="log4j.logger.noModule" level="fatal" additivity="false">
            <appender-ref ref="Console"/>
        logger>
        <logger name="log4j.logger.org.mybatis.jpetstore" level="trace" additivity="false">
            <appender-ref ref="Console"/>
        logger>
        <logger name="log4j.logger.com.opensymphony.xwork2" level="debug" additivity="false">
            <appender-ref ref="Console"/>
        logger>
        <logger name="log4j.logger.com.ibatis" level="trace" additivity="false">
            <appender-ref ref="Console"/>
        logger>
        <logger name="log4j.logger.com.ibatis.common.jdbc.SimpleDataSource" level="debug" additivity="false">
            <appender-ref ref="Console"/>
        logger>
        <logger name="log4j.logger.com.ibatis.common.jdbc.ScriptRunner" level="debug" additivity="false">
            <appender-ref ref="Console"/>
        logger>
        <logger name="log4j.logger.com.ibatis.sqlmap.engine.impl.SqlMapClientDelegate" level="debug" additivity="false">
            <appender-ref ref="Console"/>
        logger>
        <logger name="log4j.logger.org.mybatis" level="debug" additivity="false">
            <appender-ref ref="Console"/>
        logger>
        <logger name="log4j.logger.java.sql" level="debug" additivity="false">
            <appender-ref ref="Console"/>
        logger>
        <logger name="log4j.logger.java.sql.Connection" level="debug" additivity="false">
            <appender-ref ref="Console"/>
        logger>
        <logger name="log4j.logger.java.sql.Statement" level="debug" additivity="false">
            <appender-ref ref="Console"/>
        logger>
        <logger name="log4j.logger.java.sql.PreparedStatement" level="debug" additivity="false">
            <appender-ref ref="Console"/>
        logger>
        <logger name="log4j.logger.java.sql.ResultSet" level="debug" additivity="false">
            <appender-ref ref="Console"/>
        logger>

        
        
        <root level="all">
            <appender-ref ref="Console"/>
            <appender-ref ref="RollingFileDebug"/>
            <appender-ref ref="RollingFileInfo"/>
            
            <appender-ref ref="RollingFileError"/>
            <appender-ref ref="TestLog"/>
        root>
        
        
        <AsyncLogger name="AsyncLogger" level="trace" includeLocation="true" additivity="false">
            <appender-ref ref="RollingFileError"/>
        AsyncLogger>
    Loggers>
configuration>

你可能感兴趣的:(IDEA 搭建spring+maven+mybatis+mysql+junit+log4j2)