上次急于做个小项目,直接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