轉載 自 https://www.cnblogs.com/applerosa/p/5946739.html
log4j.properties 日志文件的詳細配置說明
一、在一個web 項目中,使用tomcat 啟動通常會在控制台輸出出現一個警告信息:
通常為未添加 log4j.properties文件的原因。
二、下面以一個普通的maven項目為例說明一下
1. 在maven項目的配置文件pom.xml中已經有日志文件的配置選項,如果需要使用,記得配置進去。
1 <!-- 日志文件 --> 2 <dependency> 3 <groupId>org.slf4j</groupId> 4 <artifactId>slf4j-api</artifactId> 5 <version>${org.slf4j.version}</version> 6 </dependency> 7 <dependency> 8 <groupId>org.slf4j</groupId> 9 <artifactId>slf4j-log4j12</artifactId> 10 <version>${org.slf4j.version}</version> 11 <scope>runtime</scope> 12 </dependency>2. 一般是在resources資源文件夾下添加 log4j.properties 配置文件。
log4j.properties 內容
#日志框架
#最早是System.out.print
#org.apache.log4j.Logger
#org.apache.commons.logging.Log
#java.util.logging.Logger
#org.slf4j.Logger 面向接口編程,選擇實現(選擇都使用這個)
#日志等級
#TRACE:詳細等級,堆棧信息
#debug:類似於System.out.print
#info:類似於Hibernate的show_sql
#warn:不影響運行, 只是提示
#error:出現異常
#全局日志等級配置,輸出位置
log4j.rootLogger=error, stdout,logfile
#stdout控制器
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 %p [%c]:%L - %m%n
#文件路徑輸出
log4j.appender.logfile=org.apache.log4j.RollingFileAppender
#默認輸出到tomcat的根路徑或者運行測試工程的根路徑
log4j.appender.logfile.File=pss.log
log4j.appender.logfile.MaxFileSize=512KB
# Keep three backup files.
log4j.appender.logfile.MaxBackupIndex=3
# Pattern to output: date priority [category] - message
log4j.appender.logfile.layout=org.apache.log4j.PatternLayout
log4j.appender.logfile.layout.ConversionPattern=%d %p [%c] - %m%n
#局部日志等級:就近原則
#log4j.logger.固定,后面添加想那個包使用不一樣的日志等級
#log4j.logger.cn.itsource.pss=debug
三、補充
關於log4j日志文件的作用:
在編程時經常不可避免地要使用到System.out.println() 語句輸出日志信息,而且往往會有一些判斷,
比如: if(condition) { System.out.println("some information.") ; }
這些判斷造成正常的程序邏輯中混雜了大量的輸出語句。而在開發階段寫下的這些判斷僅為了調試的語句,在開發完成時需要查找並移除。
部署運行后,尤其是在一些企業應用系統中,還經常需要進一步調試,這時就遇到了更大的麻煩。所以,我們需要一套完備的、靈活的、可配置的日志工具.
所以, log4J就是優秀的選擇。
Logger ----- 在執行應用程序時,接收日志語句生成的日志請求。
Appender -- 管理日志語句的輸出結果。
Layout ----- 用於指定 appender 將日志語句寫入日志目的地所采用的格式。