log4j2 配置(mybatis | 日志分级 | 打印指定类SQL)

本文介绍了如何配置log4j2以实现日志分级存储,避免过多的SQL打印导致日志文件过大。通过ThresholdFilter设置只记录warn及以上级别的日志,并使用SizeBasedTriggeringPolicy和DefaultRolloverStrategy限制日志文件数量和大小。同时,展示了如何指定打印特定包或类的SQL日志,并提到了mybatis配置文件的相关调整。
摘要由CSDN通过智能技术生成

上次急于做个小项目,直接copy一个项目框架,结果上线不到几天,“网管”说日志文件已经几十G了,差点被打死,

原因是把debug模式 把SQL 全部打印出来了,还有日志文件也没设置压缩,这次网上找找资料就改造了一下日志,(我也 一知半解,如有缺陷请留言)  日志采用 log4j2, (据说多线程下性能10倍于 log4j, logback)

1. 在 web.xml 中配置如下:

    <!-- log4j2- 配置 begin -->
     <listener>
         <listener-class>org.apache.logging.log4j.web.Log4jServletContextListener</listener-class>
    </listener>
     <filter>
         <filter-name>log4jServletFilter</filter-name>
         <filter-class>org.apache.logging.log4j.web.Log4jServletFilter</filter-class>
     </filter>
     <filter-mapping>
         <filter-name>log4jServletFilter</filter-name>
         <url-pattern>/*</url-pattern>
         <dispatcher>REQUEST</dispatcher>
         <dispatcher>FORWARD</dispatcher>
         <dispatcher>INCLUDE</dispatcher>
         <dispatcher>ERROR</dispatcher>
     </filter-mapping>
     <!-- log4j2- 配置 end -->
项目类路径下 ,一般为src/main/resources 添加文件 log4j2.xml ( 对就是这个名字) 内容如下:

<?xml version="1.0" encoding="UTF-8"?>
<Configuration status="OFF" monitorInterval="1800">
    <properties>
        <!-- 下面这二行随意,sys:catalina.home为tomcat的路径,这里的monitor只是我项目的名字  --> 
       <property name="LOG_HOME">${sys:catalina.home}/logs/monitor</property>
        <property name="FILE_NAME">monitor</property>
    </properties>

    <Appenders>
        <!-- 控制台日志  -->
        <Console name="Console" target="SYSTEM_OUT">
            <PatternLayout pattern="%-5level %logger{36} - %msg%n" />
        </Console>
        
        <!-- error 日志 -->
        <RollingFile name="error-log" fileName="${LOG_HOM
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值