springmvc log4j配置

1. web.xml

<!-- 加载Log4J 配置文件 --> <context-param> <param-name>log4jConfigLocation</param-name> <param-value>WEB-INF/conf/log4j.properties</param-value> </context-param> <context-param> <param-name>log4jRefreshInterval</param-name> <param-value>3000</param-value> </context-param> <listener> <listener-class>org.springframework.web.util.Log4jConfigListener</listener-class> </listener> log4jConfigLocation 配置log4j.properties 文件的位置。也可以这样配置 classpath:log4j.properties

2. 日志文件的位置

1)绝对路径

log4j.appender.R.File=D:/log/xxx.log

2)相对路径:

log4j.appender.R.File=../logs/app.log,将日志记录到tomcat下的logs文件夹;

log4j.appender.R.File=logs/app.log,将日志记录到tomcat的bin目录下的logs文件夹;

(3)使用环境变量相对路径法:程序会优先找jvm环境变量,然后再找系统环境变量,来查找配置文件中的变量。

        log4j.appender.logfile.File=${user.dir}/logs/app.log,使用tomcat容器时${user.dir}对应tomcat的bin目录;

        log4j.appender.logfile.File=${user.home}/logs/app.log,${user.home}对应操作系统当前用户目录;

        log4j.appender.logfile.File=${webApp.root}/logs/app.log,${webApp.root}对应当前应用根目录;

3. 不同框架的日志分开存储:

#all logger output level is 'ERROR' and output position is stdout #so only write our project's DEBUG log and ERROR log of the others log4j.rootLogger=ERROR, stdout, R #log4j.appender is set output postion #log4j.logger is set some package(some package your want output logger specially)=[output level],[...output position] log4j.logger.org.springframework=OFF log4j.logger.org.apache.commons=OFF log4j.logger.org.apache.struts=OFF log4j.logger.org.hibernate=OFF #log4j.logger.org.logicalcobwebs=OFF #only write our project's log(DEBUG) log4j.logger.com.mycompany=DEBUG log4j.logger.org.apache.commons.dbcp=DEBUG, dbcp #log4j.logger.org.logicalcobwebs.proxool=DEBUG, proxool #log4j.logger.org.springframework=DEBUG, spring log4j.logger.org.apache.catalina.core=DEBUG, catalina #in the console log4j.appender.stdout=org.apache.log4j.ConsoleAppender #config stdout position output contain INFO level and up log4j.appender.stdout.Threshold=DEBUG log4j.appender.stdout.layout=org.apache.log4j.PatternLayout log4j.appender.stdout.layout.ConversionPattern=[%-5p] %l:%t - %m %n #in the daily files log4j.appender.R=org.apache.log4j.DailyRollingFileAppender log4j.appender.R.Threshold=DEBUG log4j.appender.R.File=D:/EMR/log/EMR.log log4j.appender.R.DatePattern='.'yyyy-MM-dd'.log' log4j.appender.R.layout=org.apache.log4j.PatternLayout log4j.appender.R.layout.ConversionPattern=%d [%-5p] %l:%t - %m %n log4j.logger.com.statestr=DEBUG log4j.appender.dbcp=org.apache.log4j.DailyRollingFileAppender log4j.appender.dbcp.Threshold=DEBUG log4j.appender.dbcp.File=D:/EMR/log/dbcp.log log4j.appender.dbcp.DatePattern='.'yyyy-MM-dd'.log' log4j.appender.dbcp.layout=org.apache.log4j.PatternLayout log4j.appender.dbcp.layout.ConversionPattern=%d [%-5p] %l:%t - %m %n log4j.appender.proxool=org.apache.log4j.DailyRollingFileAppender log4j.appender.proxool.Threshold=DEBUG log4j.appender.proxool.File=D:/EMR/log/proxool.log log4j.appender.proxool.DatePattern='.'yyyy-MM-dd'.log' log4j.appender.proxool.layout=org.apache.log4j.PatternLayout log4j.appender.proxool.layout.ConversionPattern=%d [%-5p] %l:%t - %m %n log4j.appender.spring=org.apache.log4j.DailyRollingFileAppender log4j.appender.spring.Threshold=DEBUG log4j.appender.spring.File=D:/EMR/log/spring.log log4j.appender.spring.DatePattern='.'yyyy-MM-dd'.log' log4j.appender.spring.layout=org.apache.log4j.PatternLayout log4j.appender.spring.layout.ConversionPattern=%d [%-5p] %l:%t - %m %n log4j.appender.catalina=org.apache.log4j.DailyRollingFileAppender log4j.appender.catalina.Threshold=DEBUG log4j.appender.catalina.File=D:/EMR/log/catalina.log log4j.appender.catalina.DatePattern='.'yyyy-MM-dd'.log' log4j.appender.catalina.layout=org.apache.log4j.PatternLayout log4j.appender.catalina.layout.ConversionPattern=%d [%-5p] %l:%t - %m %n

4. 关闭日志

log4j.logger.org.springframework=OFF log4j.logger.org.apache.commons=OFF log4j.logger.org.apache.struts=OFF log4j.logger.org.hibernate=OFF或者 log4j.logger.org.springframework=WARN log4j.logger.org.apache.commons=WARN log4j.logger.org.apache.struts=WARN log4j.logger.org.hibernate=WARN
点赞
收藏

评论区

加载中...

相关推荐

MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1

文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s

Oracle 分组与拼接字符串同时使用

SELECTT.,ROWNUMIDFROM(SELECTT.EMPLID,T.NAME,T.BU,T.REALDEPART,T.FORMATDATE,SUM(T.S0)S0,MAX(UPDATETIME)CREATETIME,LISTAGG(TOCHAR(

MySQL部分从库上面因为大量的临时表tmp_table造成慢查询

背景描述Time:20190124T00:08:14.70572408:00User@Host:@Id:Schema:sentrymetaLast_errno:0Killed:0Query_time:0.315758Lock_

皕杰报表之UUID

​在我们用皕杰报表工具设计填报报表时,如何在新增行里自动增加id呢?能新增整数排序id吗?目前可以在新增行里自动增加id,但只能用uuid函数增加UUID编码,不能新增整数排序id。uuid函数说明:获取一个UUID,可以在填报表中用来创建数据ID语法:uuid()或uuid(sep)参数说明:sep布尔值,生成的uuid中是否包含分隔符'',缺省为

手写Java HashMap源码

HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程22

2020年前端实用代码段,为你的工作保驾护航

有空的时候,自己总结了几个代码段,在开发中也经常使用,谢谢。1、使用解构获取json数据let jsonData  id: 1,status: "OK",data: 'a', 'b';let  id, status, data: number   jsonData;console.log(id, status, number )