### 设置日志级别 ### log4j.rootLogger = error,stdout,D,E ### 输出到控制台 ### log4j.appender.stdout = org.apache.log4j.ConsoleAppender log4j.appender.stdout.Target = System.out log4j.appender.stdout.layout = org.apache.log4j.PatternLayout log4j.appender.stdout.layout.ConversionPattern = %d{ABSOLUTE} %5p %c{1}:%L - %m%n ### 输出到日志文件 ### log4j.appender.D = org.apache.log4j.DailyRollingFileAppender log4j.appender.D.File = ${webApp.root}/logs/log.log log4j.appender.D.encoding=gb2312 log4j.appender.D.Append = true ## 输出配置级别以上的日志 log4j.appender.D.Threshold = debug log4j.appender.D.layout = org.apache.log4j.PatternLayout log4j.appender.D.layout.ConversionPattern = %-d{yyyy-MM-dd HH:mm:ss} [%t:%r] - [%p] %m%n ### 保存异常信息到单独文件,每天自增一个日志文件 ### log4j.appender.E = org.apache.log4j.DailyRollingFileAppender ## 异常日志文件名 log4j.appender.E.File = ${webApp.root}/logs/error.log log4j.appender.E.encoding=gb2312 log4j.appender.E.Append = true ## 只输出ERROR级别以上的日志!!! log4j.appender.E.Threshold = ERROR log4j.appender.E.layout = org.apache.log4j.PatternLayout log4j.appender.E.layout.ConversionPattern =%-d{yyyy-MM-dd HH\:mm\:ss} [%t\:%r] - [%p] %m%n ,今天小编就来聊一聊关于log4j在哪个路径查版本?接下来我们就一起去研究一下吧!

log4j在哪个路径查版本(log4j的详细配置)

log4j在哪个路径查版本

### 设置日志级别 ### log4j.rootLogger = error,stdout,D,E ### 输出到控制台 ### log4j.appender.stdout = org.apache.log4j.ConsoleAppender log4j.appender.stdout.Target = System.out log4j.appender.stdout.layout = org.apache.log4j.PatternLayout log4j.appender.stdout.layout.ConversionPattern = %d{ABSOLUTE} %5p %c{1}:%L - %m%n ### 输出到日志文件 ### log4j.appender.D = org.apache.log4j.DailyRollingFileAppender log4j.appender.D.File = ${webApp.root}/logs/log.log log4j.appender.D.encoding=gb2312 log4j.appender.D.Append = true ## 输出配置级别以上的日志 log4j.appender.D.Threshold = debug log4j.appender.D.layout = org.apache.log4j.PatternLayout log4j.appender.D.layout.ConversionPattern = %-d{yyyy-MM-dd HH:mm:ss} [%t:%r] - [%p] %m%n ### 保存异常信息到单独文件,每天自增一个日志文件 ### log4j.appender.E = org.apache.log4j.DailyRollingFileAppender ## 异常日志文件名 log4j.appender.E.File = ${webApp.root}/logs/error.log log4j.appender.E.encoding=gb2312 log4j.appender.E.Append = true ## 只输出ERROR级别以上的日志!!! log4j.appender.E.Threshold = ERROR log4j.appender.E.layout = org.apache.log4j.PatternLayout log4j.appender.E.layout.ConversionPattern =%-d{yyyy-MM-dd HH\:mm\:ss} [%t\:%r] - [%p] %m%n

加载log4j.properties配置文件需要在web.xml中配置一些信息,配置如下:

<context-param> <param-name>log4jConfigLocation</param-name> <param-value>classpath:log4j.properties</param-value> </context-param> <context-param> <param-name>log4jRefreshInterval</param-name> <param-value>60000</param-value> </context-param>

File文件的路径配置方法:1.使用绝对路径,把日志文件放到一个固定的位置,例如D:/logs/log.log。2.使用环境变量:

A:

{user.home}/logs/log.log是把日志文件放到个人用户目录下,系统不同位置可能会有差异,以我的电脑系统(win10)和个人配置为例,${user.home}/logs/log.log代表C:\Users\kzhzhang\logs\log.log。

B:

{catalina.home}/logs/error.log是把日志文件放到tomcat第一层目录下。

C:

{webApp.root}/logs/error.log是把日志文件放到发布到tomcat下的项目内部,使用这个变量需要在web.xml中配置一些信息,配置如下,

<context-param> <param-name>webAppRootKey</param-name> <param-value>webApp.root</param-value> </context-param> <listener> <listener-class>org.springframework.web.util.Log4jConfigListener</listener-class> </listener>

3.设置一个监听器实现ServletContextListener,在项目启动的时候初始化日志保存目录:

public class Log4jListener implements ServletContextListener { public static final String log4jDir = "log4jdir"; @Override public void contextInitialized(ServletContextEvent sce) { String log4jdir = sce.getServletContext().getRealPath("/") "logs\\"; System.setProperty(log4jDir, log4jdir); } @Override public void contextDestroyed(ServletContextEvent sce) { System.getProperties().remove(log4jDir); } }

在log4j.properties文件中使用log4jdir(变量名称可以随便命名,注意保持一致)变量配置日志文件位置,例如${log4jdir}/log.log,另外还需要在web.xml中配置监听器,配置如下:

<listener> <listener-class>***.Log4jListener</listener-class> </listener>

ConversionPattern参数的格式含义

格式名 含义 %c 输出日志信息所属的类的全名 %d 输出日志时间点的日期或时间,默认格式为ISO8601,也可以在其后指定格式,比如:%d{yyy-MM-dd HH:mm:ss },输出类似:2002-10-18- 22:10:28 %f 输出日志信息所属的类的类名 %l 输出日志事件的发生位置,即输出日志信息的语句处于它所在的类的第几行 %m 输出代码中指定的信息,如log(message)中的message %n 输出一个回车换行符,Windows平台为“rn”,Unix平台为“n” %p 输出优先级,即DEBUG,INFO,WARN,ERROR,FATAL。如果是调用debug()输出的,则为DEBUG,依此类推 %r 输出自应用启动到输出该日志信息所耗费的毫秒数 %t 输出产生该日志事件的线程名

,