web應用的log4j配置

完全不懂,大致看了一會兒,發現一些信息:

  1. web應用的log4j使用基本上都採用:新建一個servlet,這個servlet在init函數中爲log4j執行配置。一般就是讀入配置文件。所以需要在web.xml中爲這個servlet配置,同時設定load-on-startup爲1。
  2.  這個servlet配置log4j就是讀出配置文件,然後調用configure函數。這裏有兩個問題:一、需要知道文件在哪裏;二、需要正確的文件類型
  3. 配置文件位置在web.xml中配置一個param即可,路徑一般是相對於web的root目錄
  4. 文件類型一般有兩種,一個是Java的property文件,另一種是xml文件
  5. 配置文件的大致內容:log4j可以指定輸出的log級別的最低等級,以及log的輸出配置格式,每個log可以指定多個輸出方式
     <logger name="org.woden" additivity="false">  
      <level value="DEBUG" />  
      <appender-ref ref="console.log" />  
      <appender-ref ref="file.log " />  
     </logger>  
    其中的appender就是一個log輸出,這裏引用了兩個log位置。
  6. appender的格式大概如下:
    <appender name="file.log" class="org.apache.log4j.RollingFileAppender">  
    <!-- 這裏必須用絕對路徑(或相對於tomcat的路徑) -->  
      <param name="File" value="c:\logs\myweb.log" />  
      <param name="Append" value="false" />  
      <layout class="org.apache.log4j.PatternLayout">  
    <param name="ConversionPattern" value="%-d{yyyy-MM-dd HH:mm:ss} [%C:%M()]-[%p] %m%n" />  
    恩,在class屬性中可以定義一個log4j給的類,可以指定輸出的方式。這裏是RollingFileAppender。表示往文件添加log,然後達到max之後新建一個文件。
  7. 其實log4j和spring已經給我們提供了一個更加方便的方法:利用他們已經提供給我們的servlet類,og4j的com.apache.jakarta.log4j.Log4jInit類,Spring的org.springframework.web.util.Log4jConfigServlet和 org.springframework.web.util.ServletContextListene。不過還不清楚具體怎麼搞

部分代碼來自於:http://qify.iteye.com/blog/340930

補充一個:這個網站的例子非常詳細了http://www.avajava.com/tutorials/lessons/how-do-i-initialize-log4j-in-a-web-application.html


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章