1. 程式人生 > >轉:log4j的使用簡介

轉:log4j的使用簡介

b- name 格式 highlight ppr string title target ews

spring使用log4j,可以有2種方法。

1、在web.xml裏不做任何配置。

log4j.properties放在classpath根目錄下,

這時候生成的日誌文件就沒有相對路徑,如果寫相對路徑,則會生成在安裝tomcat的根路徑下。

2、在web.xml設置。

[xml] view plain copy
  1. <context-param>
  2. <param-name>log4jConfigLocation</param-name>
  3. <param-value>WEB-INF/classes/log4j.properties</param-value>
  4. </context-param>
  5. <context-param>
  6. <param-name>webAppRootKey</param-name>
  7. <param-value>myappfuse.root</param-value>
  8. </context-param>
  9. <listener>
  10. <listener-class>org.springframework.web.util.Log4jConfigListener</listener-class>
  11. </listener>
  12. <listener>
  13. <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
  14. </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
  1. import org.apache.log4j.Logger;
  2. public class HelloLog4j {
  3. private static Logger logger = Logger.getLogger(HelloLog4j.class);
  4. /**
  5. * @param args
  6. */
  7. public static void main(String[] args) {
  8. // System.out.println("This is println message.");
  9. // 記錄debug級別的信息
  10. logger.debug("This is debug message.");
  11. // 記錄info級別的信息
  12. logger.info("This is info message.");
  13. // 記錄error級別的信息
  14. logger.error("This is error message.");
  15. }
  16. }

Log4j寫入數據庫詳解

http://blog.csdn.net/ziruobing/article/details/3919501

Log4j學習匯總—–配置詳解

http://blog.csdn.net/meng2602956882/article/details/16951643

轉:log4j的使用簡介