zoukankan      html  css  js  c++  java
  • DWR日志 在log4j.xml配置

    一、日志

      DWR依赖 Apache Commons Logging,可以使用log4j实现日志记录功能。

    1.1 日志简介

      和其他日志框架一样,当设置低等级的日志时所有高于此等级的日志也将会打印出来。DWR日志分为以下四种:

    • CALL:最详细的记录,将记录所有输入输出的DWR请求。
    • EXCEPTION:将记录所有的可检查异常。
    • RUNTIMEEXCEPTION:将记录所有运行时异常。
    • ERROR:将记录所有Errors。

      所有的日志将会统一输出到同一个logger - org.directwebremoting.log.accessLog,这将允许应用程序很方便的从其它应用日志中抽离出DWR日志。

    1.2 日志设置

      通过在servlet中添加参数即可:

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

      debug模式下,默认开启EXCEPTION级别的日志,可以被有效的日志设置进行修改。

      非debug模式中,不指定日志级别或者指定错误的日志级别,所有级别的日志将不会输出。

    1.3 配置log4j

      使用log4j需要log4j的jar包和配置文件,下面展示一个简单的例子:

    复制代码
    <?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的通用日志级别,还有一种是自己的日志级别,可以从以下源码看出:

      上面的代码是DWR应用于日志框架进行的日志记录,自己的日志记录:

      可以发现DWR自己的日志是在通用日志级别上又套了一层日志,而且是info级别的,因此建议,开发阶段通用日志级别设置为debug,DWR日志级别设置为call,生成阶段时,通用日志级别设置为info,DWR日志级别不设置即可。

    二、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有各种好处,后续会对其进行介绍。

  • 相关阅读:
    HDOJ 2095 find your present (2)
    HDOJ 2186 悼念512汶川大地震遇难同胞——一定要记住我爱你
    九度 1337 寻找最长合法括号序列
    九度 1357 疯狂地Jobdu序列
    HDOJ 1280 前m大的数
    九度 1343 城际公路网
    九度 1347 孤岛连通工程
    HDOJ 2151 Worm
    九度 1342 寻找最长合法括号序列II
    九度 1346 会员积分排序
  • 原文地址:https://www.cnblogs.com/firstdream/p/10935419.html
Copyright © 2011-2022 走看看