DWR日誌 在log4j.xml配置

1、日誌

  DWR依賴 Apache Commons Logging,可使用log4j實現日誌記錄功能。web

1.1 日誌簡介

  和其餘日誌框架同樣,當設置低等級的日誌時全部高於此等級的日誌也將會打印出來。DWR日誌分爲如下四種:算法

  • CALL:最詳細的記錄,將記錄全部輸入輸出的DWR請求。
  • EXCEPTION:將記錄全部的可檢查異常。
  • RUNTIMEEXCEPTION:將記錄全部運行時異常。
  • ERROR:將記錄全部Errors。

  全部的日誌將會統一輸出到同一個logger - org.directwebremoting.log.accessLog,這將容許應用程序很方便的從其它應用日誌中抽離出DWR日誌。apache

1.2 日誌設置

  經過在servlet中添加參數便可:session

<init-param>
    <param-name>accessLogLevel</param-name>
    <param-value>EXCEPTION</param-value>
</init-param>

  debug模式下,默認開啓EXCEPTION級別的日誌,能夠被有效的日誌設置進行修改。app

  非debug模式中,不指定日誌級別或者指定錯誤的日誌級別,全部級別的日誌將不會輸出。框架

1.3 配置log4j

  使用log4j須要log4j的jar包和配置文件,下面展現一個簡單的例子:webapp

複製代碼
<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE log4j:configuration SYSTEM "log4j.dtd"> <log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/"> <appender name="console" class="org.apache.log4j.ConsoleAppender"> <param name="Target" value="System.out"/> <layout class="org.apache.log4j.PatternLayout"> <param name="ConversionPattern" value="%-5p %c{1} - %m%n"/> </layout> </appender> <appender name="dwrLogFile" class="org.apache.log4j.FileAppender"> <param name="File" value="C:/Program Files/Apache Software Foundation/Tomcat 6.0/webapps/dwr/log/dwrAccess.log"/> <param name="Append" value="true"/> <param name="Threshold" value="DEBUG"/> <layout class="org.apache.log4j.PatternLayout"> <param name="ConversionPattern" value="%d %-5p [%c] %m%n"/> </layout> </appender> <appender name="otherFile" class="org.apache.log4j.FileAppender"> <param name="File" value="C:/Program Files/Apache Software Foundation/Tomcat 6.0/webapps/dwr/log/other.log"/> <param name="Append" value="true"/> <param name="Threshold" value="DEBUG"/> <layout class="org.apache.log4j.PatternLayout"> <param name="ConversionPattern" value="%d %-5p [%c] %m%n"/> </layout> </appender> <!-- 全部的application exceptions/errors日誌輸出到這裏 --> <category name="org.directwebremoting.log.accessLog"> <priority value="INFO"/> <appender-ref ref="dwrLogFile" /> </category> <!-- 全部的啓動信息輸出到這裏 --> <category name="org.directwebremoting.log.startup"> <priority value="DEBUG"/> <appender-ref ref="dwrLogFile" /> </category> <!-- 全部的script腳本信息輸出到這裏 --> <category name="org.directwebremoting.log.scripts"> <priority value="DEBUG"/> <appender-ref ref="dwrLogFile" /> </category> <!-- 全部的session信息輸出到這裏 --> <category name="org.directwebremoting.log.session"> <priority value="DEBUG"/> <appender-ref ref="dwrLogFile" /> </category> <!-- 其它信息包括內部錯誤信息輸出到這裏 --> <root> <priority value="DEBUG" /> <appender-ref ref="otherFile" /> </root> </log4j:configuration>
複製代碼

1.4 DWR日誌和普通日誌關係

  看到這裏應該能夠發現DWR應用着兩種日誌配置,一種是commons-logging的通用日誌級別,還有一種是本身的日誌級別,能夠從如下源碼看出:ui

  上面的代碼是DWR應用於日誌框架進行的日誌記錄,本身的日誌記錄:this

  能夠發現DWR本身的日誌是在通用日誌級別上又套了一層日誌,並且是info級別的,所以建議,開發階段通用日誌級別設置爲debug,DWR日誌級別設置爲call,生成階段時,通用日誌級別設置爲info,DWR日誌級別不設置便可。spa

2、js壓縮

  一般狀況下,js文件越多,網頁打開越慢,因此通常都會對js文件進行處理,好比壓縮或者合併。

2.1 DWR對js的處理

  當在DWR的非debug模式下,DWR會自動檢測是否在classpath下發現dojo-shrinksafe.jar或者yuicompressor.jar,若發現則將自動啓用壓縮。

2.2 自定義壓縮

  固然你也能夠經過實現org.directwebremoting.extend.Compressor接口,來實現本身的壓縮算法。並進行以下配置:

<init-param> <param-name>org.directwebremoting.extend.Compressor</param-name> <param-value>com.example.Compressor</param-value> </init-param>

2.3 使用jawr

  固然值得試一下jawr,jawr專門爲DWR提供了插件。jawr有各類好處,後續會對其進行介紹。

相關文章
相關標籤/搜索