轉:log4j的使用簡介
spring使用log4j,可以有2種方法。
1、在web.xml裏不做任何配置。
log4j.properties放在classpath根目錄下,
這時候生成的日誌文件就沒有相對路徑,如果寫相對路徑,則會生成在安裝tomcat的根路徑下。
2、在web.xml設置。
[xml] view plain copy
- <context-param>
- <param-name>log4jConfigLocation</param-name>
- <param-value>WEB-INF/classes/log4j.properties</param-value>
- </context-param>
- <context-param>
- <param-name>webAppRootKey</param-name>
- <param-value>myappfuse.root</param-value>
- </context-param>
- <listener>
- <listener-class>org.springframework.web.util.Log4jConfigListener</listener-class>
- </listener>
- <listener>
- <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
- </listener>
打印參數: Log4J采用類似C語言中的printf函數的打印格式格式化日誌信息,如下:
%p: 輸出日誌信息優先級,即DEBUG,INFO,WARN,ERROR,FATAL,
log4j.rootLogger = INFO,stdout 這句中的INFO是設置了輸出該級別以上的日誌
INFO,WARN,ERROR,FATAL等消息都會輸出。哪到底每條消息是哪個級別呢?%p就是輸出該條消息的級別。
%d: 輸出日誌時間點的日期或時間,默認格式為ISO8601,也可以在其後指定格式,比如:%d{yyyy-MM-dd HH:mm:ss,SSS},輸出類似:2011-10-18 22:10:28,921
%r: 輸出自應用啟動到輸出該log信息耗費的毫秒數
%c: 輸出日誌信息所屬的類目,通常就是所在類的全名
%t: 輸出產生該日誌事件的線程名
%l: 輸出日誌事件的發生位置,相當於%C.%M(%F:%L)的組合,包括類目名、發生的線程,以及在代碼中的行數。
%x: 輸出和當前線程相關聯的NDC(嵌套診斷環境),尤其用到像java servlets這樣的多客戶多線程的應用中。
%%: 輸出一個"%"字符
%F: 輸出日誌消息產生時所在的文件名稱
%L: 輸出代碼中的行號
%m: 輸出代碼中指定的消息,產生的日誌具體信息
%n: 輸出一個回車換行符,Windows平臺為"\r\n",Unix平臺為"\n"輸出日誌信息換行
可以在%與模式字符之間加上修飾符來控制其最小寬度、最大寬度、和文本的對齊方式。如:
1)%20c:指定輸出category的名稱,最小的寬度是20,如果category的名稱小於20的話,默認的情況下右對齊。
2)%-20c:指定輸出category的名稱,最小的寬度是20,如果category的名稱小於20的話,"-"號指定左對齊。
3)%.30c:指定輸出category的名稱,最大的寬度是30,如果category的名稱大於30的話,就會將左邊多出的字符截掉,但小於30的話也不會有空格。
4)%20.30c:如果category的名稱小於20就補空格,並且右對齊,如果其名稱長於30字符,就從左邊交遠銷出的字符截掉
測試代碼
[java] view plain copy- import org.apache.log4j.Logger;
- public class HelloLog4j {
- private static Logger logger = Logger.getLogger(HelloLog4j.class);
- /**
- * @param args
- */
- public static void main(String[] args) {
- // System.out.println("This is println message.");
- // 記錄debug級別的信息
- logger.debug("This is debug message.");
- // 記錄info級別的信息
- logger.info("This is info message.");
- // 記錄error級別的信息
- logger.error("This is error message.");
- }
- }
Log4j寫入數據庫詳解
http://blog.csdn.net/ziruobing/article/details/3919501
Log4j學習匯總—–配置詳解
http://blog.csdn.net/meng2602956882/article/details/16951643
轉:log4j的使用簡介