log4j.xml實現web應用的日誌

 
標題   jboss下通過配置log4j.xml實現web應用的日誌     選擇自 elathen 的 Blog 
關鍵字   jboss下通過配置log4j.xml實現web應用的日誌
出處   
 
 log4j是一個優秀的開源的java日誌系統,jboss內部也集成了它,在jboss下默認的只是對server做了每日日誌,並沒有對你部署的項目進行每日的日誌構建,但我們可以通過修改log4j.xml文件來實現。log4j.xml文件在jboss安裝目錄下的server/default/conf下,打開log4j.xml文件
  這是log4j默認的配置,我們先熟悉一下
  <!-- ============================== -->
  <!-- Append messages to the console -->
  <!-- ============================== -->
    <!--輸出方式:輸出到控制檯-->
    <appender name="CONSOLE" class="org.apache.log4j.ConsoleAppender">
    <!-- 設置通道名稱:console和輸出方式:org.apache.log4j.RollingFileAppender
           其中輸出方式appender有5種,分別爲
           org.apache.log4j.ConsoleAppender (控制檯) 
           org.apache.log4j.FileAppender (文件)
           org.apache.log4j.DailyRollingFileAppender (每天產生一個日誌文件)
           org.apache.log4j.WriterAppender (將日誌信息以流格式發送到任意指定的地方)-->
    <param name="Target" value="System.out"/>
    <param name="Threshold" value="INFO"/>
      <!--Threshold是個全局的過濾器,它將把低於所設置的level的信息過濾不顯示出來-->
      <!--level:是日記記錄的優先級,優先級由高到低分爲
          OFF ,FATAL ,ERROR ,WARN ,INFO ,DEBUG ,ALL。
          Log4j建議只使用FATAL ,ERROR ,WARN ,INFO ,DEBUG這四個級別。-->
    <layout class="org.apache.log4j.PatternLayout">
       <!-- 配置日誌輸出的格式-->
              參數都以%開始後面不同的參數代表不同的格式化信息(參數按字母表順序列出):
              %c     輸出所屬類的全名,可在修改爲 %d{Num} ,Num類名輸出的圍  如:"org.apache.elathen.ClassName",
                                                                               %C{2}將輸出elathen.ClassName
                                                                                           
              %d     輸出日誌時間其格式爲 %d{yyyy-MM-dd HH:mm:ss,SSS},可指定格式 如 %d{HH:mm:ss}
              %l     輸出日誌事件發生位置,包括類目名、發生線程,在代碼中的行數
              %n     換行符
              %m     輸出代碼指定信息,如info(“message”),輸出message
              %p     輸出優先級,即 FATAL ,ERROR 等
              %r     輸出從啓動到顯示該log信息所耗費的毫秒數
              %t     輸出產生該日誌事件的線程名
      <!-- The default pattern: Date Priority [Category] Message/n -->
      <param name="ConversionPattern" value="%d{ABSOLUTE} %-5p [%c{1}] %m%n"/>
    </layout>
  </appender>
  <!輸出方式是:每天一個日誌文件>
  <!-- A time/date based rolling appender -->
  <appender name="FILE" class="org.jboss.logging.appender.DailyRollingFileAppender">
    <!--設置通道名稱是:file,輸出方式DailyRollingFileAppender-->
    <param name="File" value="${jboss.server.home.dir}/log/server.log"/>
    <!--日誌文件路徑和文件名稱 -->
    <param name="Append" value="false"/>
    <!-- 設置是否在重新啓動服務時,在原有日誌的基礎添加新日誌 -->
    <!-- Rollover at midnight each day -->
    <param name="DatePattern" value="'.'yyyy-MM-dd"/>
    <!-- Rollover at the top of each hour
    <param name="DatePattern" value="'.'yyyy-MM-dd-HH"/>  -->
    <layout class="org.apache.log4j.PatternLayout">
      <!-- The default pattern: Date Priority [Category] Message/n -->
      <param name="ConversionPattern" value="%d %-5p [%c] %m%n"/>
      <!-- The full pattern: Date MS Priority [Category] (Thread:NDC) Message/n
      <param name="ConversionPattern" value="%d %-5r %-5p [%c] (%t:%x) %m%n"/>
       -->
    </layout>    
  </appender>
 上面是jboss下log4j的默認配置,對jboss的server進行日誌記錄,接下來我們添加web項目的日誌,在log4j.xml
  文件中把下面的配置信息加上去就可以了
  <!-- A size based file rolling appender-->
  <appender name="com.szypt.all" class="org.jboss.logging.appender.RollingFileAppender">
    <param name="File" value="${jboss.server.home.dir}/log/elathen.log"/>
    <param name="Append" value="true"/>
    <param name="MaxFileSize" value="500KB"/>
    <param name="MaxBackupIndex" value="1"/>
    <layout class="org.apache.log4j.PatternLayout">
      <param name="ConversionPattern" value="%d %-5p [%c] %m%n"/>
    </layout>    
  </appender>
  <logger name="com.szypt">
    <level value="DEBUG" />
    <appender-ref ref="com.szypt.all"/>
  </logger>
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章