jboss下通過配置log4j.xml實現web應用的日誌

log4j是一個優秀的開源的java日誌系統,jboss內部也集成了它,在jboss下默認的只是對server做了每日日誌,並沒有對你部署的項目進行每日的日誌構建,但我們可以通過修改log4j.xml文件來實現。log4j.xml文件在jboss安裝目錄下的server/default/conf下,打開log4j.xml文件<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />

  這是log4j默認的配置,我們先熟悉一下
  <!-- ============================== -->
  <!-- Append messages to the console -->
  <!-- ============================== -->
    <!--
輸出方式:輸出到控制檯-->
    <appender name="CONSOLE" class="org.apache.log4j.ConsoleAppender">
    <!-- 設置通道名稱:console和輸出方式:org.apache.log4j.RollingFileAppender 
           
其中輸出方式appender5,分別爲
           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>

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