版权声明:本文为博主原创文章,转载请注明出处。 https://blog.csdn.net/pengbin790000/article/details/84070914
1.导入jar包:
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<!-- log4j日志文件管理包版本 -->
<log4j.version>2.7</log4j.version>
</properties>
<!-- log4j2 -->
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-api</artifactId>
<version>${log4j.version}</version>
</dependency>
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-core</artifactId>
<version>${log4j.version}</version>
</dependency>
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-slf4j-impl</artifactId>
<version>${log4j.version}</version>
</dependency>
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-web</artifactId>
<version>${log4j.version}</version>
<scope>runtime</scope>
</dependency>
2.创建log4j2.xml文件:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE xml>
<Configuration status="off" monitorInterval="1800">
<properties>
<property name="LOG_HOME">D://work\AllWorkspace\logs</property>
<property name="ERROR_LOG_FILE_NAME">error</property>
<property name="INFO_LOG_FILE_NAME">info</property>
<property name="PATTERN">%d %-5p [%t] %C{1} (%F:%L) - %m%n</property>
</properties>
<Appenders>
<Console name="Console" target="SYSTEM_OUT">
<PatternLayout pattern="${PATTERN}"/>
</Console>
<RollingRandomAccessFile name="ErrorLog"
fileName="${LOG_HOME}/${ERROR_LOG_FILE_NAME}.log"
filePattern="${LOG_HOME}/${ERROR_LOG_FILE_NAME}.log.%d{yyyy-MM-dd}.gz">
<PatternLayout pattern="${PATTERN}"/>
<Policies>
<TimeBasedTriggeringPolicy/>
<SizeBasedTriggeringPolicy size="100 MB"/>
</Policies>
<DefaultRolloverStrategy max="20"/>
</RollingRandomAccessFile>
<RollingRandomAccessFile name="InfoLog"
fileName="${LOG_HOME}/${INFO_LOG_FILE_NAME}.log"
filePattern="${LOG_HOME}/${INFO_LOG_FILE_NAME}.log.%d{yyyy-MM-dd}.gz">
<PatternLayout pattern="${PATTERN}"/>
<Policies>
<TimeBasedTriggeringPolicy/>
<SizeBasedTriggeringPolicy size="100 MB"/>
</Policies>
<DefaultRolloverStrategy max="20"/>
</RollingRandomAccessFile>
<Socket name="Logstash" host="192.168.3.59" port="4560" protocol="TCP">
<JsonLayout locationInfo="true" compact="true" eventEol="true" />
</Socket>
</Appenders>
<Loggers>
<!-- 3rdparty Loggers -->
<logger name="org.springframework.core" level="info"></logger>
<logger name="org.springframework.beans" level="info"></logger>
<logger name="org.springframework.context" level="info"></logger>
<logger name="org.springframework.web" level="error"></logger>
<logger name="org.zyyd" level="all" includeLocation="true" additivity="false">
<appender-ref ref="Console"/>
<appender-ref ref="InfoLog"/>
</logger>
<logger name="org.zyyd.base.util.LogUtil" level="all" includeLocation="true" additivity="false">
<appender-ref ref="Console"/>
<appender-ref ref="Logstash"/>
</logger>
<root level="info" includeLocation="true">
<appender-ref ref="Console"/>
<appender-ref ref="ErrorLog"/>
<appender-ref ref="InfoLog"/>
</root>
<!--对应的mybatis查询日志-->
<!--debug对应的只到语句,而TRACE还会打印结果条数-->
<!--name只到dao则只是语句,而如果是org.zyyd.base.dao.mapper则会打印每行的结果-->
<logger name="org.zyyd.base.dao" level="DEBUG" additivity="false">
<appender-ref ref="Console"/>
<appender-ref ref="InfoLog"/>
</logger>
<!--<Logger name="org.zyyd.base.dao" level="debug" additivity="false">-->
<!--<AppenderRef ref="mybatisSql" />-->
<!--</Logger>-->
</Loggers>
</Configuration>
3.在mybatis配置文件那声明下使用的是log4j2
<!-- sessionFactory 将spring和mybatis整合 -->
<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
<property name="dataSource" ref="dataSource" />
<!-- <property name="configLocation" value="classpath:sqlMapConfig.xml" /> -->
<property name="mapperLocations" value="classpath:org/zyyd/base/dao/mapper/*.xml" /> <!-- 加载mapper文件 如果如接口在同一路径下可不写 -->
<property name="typeAliasesPackage" value="org.zyyd.base.entity"></property> <!-- 扫描实体类 -->
<property name="typeHandlersPackage" value="org.zyyd.base.entity.typehandler"></property>
<property name="configLocation" value="classpath:mybatis-config.xml"></property> //声明mybatis配置文件
<property name="plugins">
<array>
<bean class="com.github.pagehelper.PageInterceptor">
<property name="properties">
<value>
params=mysql
</value>
</property>
</bean>
</array>
</property>
</bean>
mybatis-config.xml:
<?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="LOG4J2" />
</settings>
</configuration>
大功完成!