DWR依赖 Apache Commons Logging,可使用log4j实现日志记录功能。web
和其余日志框架同样,当设置低等级的日志时全部高于此等级的日志也将会打印出来。DWR日志分为如下四种:算法
全部的日志将会统一输出到同一个logger - org.directwebremoting.log.accessLog,这将容许应用程序很方便的从其它应用日志中抽离出DWR日志。apache
经过在servlet中添加参数便可:session
<init-param> <param-name>accessLogLevel</param-name> <param-value>EXCEPTION</param-value> </init-param>
debug模式下,默认开启EXCEPTION级别的日志,能够被有效的日志设置进行修改。app
非debug模式中,不指定日志级别或者指定错误的日志级别,全部级别的日志将不会输出。框架
使用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>
看到这里应该能够发现DWR应用着两种日志配置,一种是commons-logging的通用日志级别,还有一种是本身的日志级别,能够从如下源码看出:ui
上面的代码是DWR应用于日志框架进行的日志记录,本身的日志记录:this
能够发现DWR本身的日志是在通用日志级别上又套了一层日志,并且是info级别的,所以建议,开发阶段通用日志级别设置为debug,DWR日志级别设置为call,生成阶段时,通用日志级别设置为info,DWR日志级别不设置便可。spa
一般状况下,js文件越多,网页打开越慢,因此通常都会对js文件进行处理,好比压缩或者合并。
当在DWR的非debug模式下,DWR会自动检测是否在classpath下发现dojo-shrinksafe.jar或者yuicompressor.jar,若发现则将自动启用压缩。
固然你也能够经过实现org.directwebremoting.extend.Compressor接口,来实现本身的压缩算法。并进行以下配置:
<init-param> <param-name>org.directwebremoting.extend.Compressor</param-name> <param-value>com.example.Compressor</param-value> </init-param>
固然值得试一下jawr,jawr专门为DWR提供了插件。jawr有各类好处,后续会对其进行介绍。