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在哪個路徑查版本?接下來我們就一起去研究一下吧!
### 設置日志級别 ###
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 輸出産生該日志事件的線程名
更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!