`
ikon
  • 浏览: 108079 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

深入dwr2之一 Dwr2的日志代码分析

    博客分类:
  • dwr
阅读更多
http://column.ibeifeng.com/51564/2008100689.shtml
1、dwr log涉及的类:

org.directwebremoting.util下的

Logger:dwr的日志类,Logger工厂;

LoggingOutput :dwr日志输出接口


CommonsLoggingOutput :apache Commons log输出

ServletLoggingOutput :servlet 容器 log输出;



2、 log过程

(1) 加载dwrservlet,初始化StartupUtil类的log属性时,Log类在构造函数中判断是否有CommonsLog类,有的话,生成CommonsLoggingOutput对象;否则生成ServletLoggingOutput对象;实际的log操作是这2个对象完成的,logger类里持有LoggingOutput接口的引用;

(2) ServletLoggingOutput 的日志输出可以由dwrservlet的

<init-param>

<param-name>logLevel</param-name>

<param-value>DEBUG</param-value>

</init-param>

来控制;

CommonsLoggingOutput的日志输出由log4j配置文件来控制,如:

log4j.logger.org.directwebremoting=DEBUG,stdout, logfile

log4j.logger.org.getahaed=DEBUG,stdout, logfile


如果没有以上2句,则由rootLogger来决定;



commons-logging.properties

org.apache.commons.logging.Log=org.apache.commons.logging.impl.Log4JLogger

org.apache.commons.logging.LogFactory=org.apache.commons.logging.impl.Log4jFactory



log4j.properties

log4j.rootLogger=INFO, stdout

 

log4j.logger.org.directwebremoting=DEBUG,stdout, logfile

log4j.logger.org.getahaed=DEBUG,stdout, logfile

 

log4j.appender.stdout=org.apache.log4j.ConsoleAppender

log4j.appender.stdout.layout=org.apache.log4j.PatternLayout

log4j.appender.stdout.layout.ConversionPattern=%d %p [%c] - <%m>%n

 

log4j.appender.logfile=org.apache.log4j.RollingFileAppender

log4j.appender.logfile.File=D:/ikonweb/dwrtest/log/dwrtest.log

log4j.appender.logfile.MaxFileSize=51200KB

# Keep three backup files.

log4j.appender.logfile.MaxBackupIndex=3

# Pattern to output: date priority [category] - message

log4j.appender.logfile.layout=org.apache.log4j.PatternLayout

log4j.appender.logfile.layout.ConversionPattern=%d %p [%c] - %m%n


在web.Xml中加载log4j

<context-param>

<param-name>log4jConfigLocation</param-name>

<param-value>/WEB-INF/log4j.properties</param-value>

</context-param>

<listener>

<listener-class>

org.springframework.web.util.Log4jConfigListener

</listener-class>

</listener>
分享到:
评论

相关推荐

    DWR 实例 + DWR 深入 (源代码分析).doc

    DWR (Direct Web Remoting) 是一个开源框架,它允许JavaScript在浏览器端直接调用Java方法,从而实现AJAX的应用。...对于任何希望深入了解DWR工作原理的开发者来说,阅读源代码都是一个有价值的学习过程。

    DWR-jar包+源码

    通过源码,开发者可以深入理解DWR的工作原理,调试代码,或者根据项目需求进行定制。 描述中提到的"commons-logging-1.0.4.jar"是一个广泛使用的日志抽象层,它允许DWR根据配置选择不同的日志实现,如Log4j、java....

    LogViewer(DWR2)

    **标题解析:** "LogViewer(DWR2)" 指的是一个基于DWR2技术的日志查看器示例项目。DWR (Direct Web Remoting) 是一个开源的JavaScript库,它允许Web应用程序在客户端和服务器之间进行实时通信,无需使用Ajax或页面...

    dwr demo dwr简单使用

    8. **调试与优化**:DWR提供了丰富的日志功能和错误处理机制,这有助于你在开发过程中调试和优化代码。通过调整`dwr.xml`的配置,你可以控制日志的详细程度。 9. **安全考虑**:在实际项目中,使用DWR时需要注意...

    简单使用dwr完整例子

    在这个"简单使用DWR完整例子"中,我们将深入理解DWR的基本概念、配置、以及如何在SSH(Spring、Struts、Hibernate)技术框架下集成和应用DWR。 首先,了解DWR的核心概念至关重要。DWR通过JavaScript API使得Java...

    Struts2+DWR的简单实现

    Struts2是一个基于MVC设计模式的Java EE框架,用于构建可维护性和可扩展性高的企业级应用程序,而DWR则是一种使得JavaScript可以调用服务器端Java方法的库,实现了AJAX的异步通信。下面我们将深入探讨这两个技术以及...

    struts2+dwr整合例子,部署后可直接用

    Struts2还支持拦截器,这是一种AOP(面向切面编程)的概念,可以在Action执行前后插入自定义逻辑,例如权限检查、日志记录等。 DWR,另一方面,使得前端JavaScript可以直接调用后台的Java方法,就像它们都是本地...

    DWR快速配置入门 DWR快速配置入门.

    DWR(Direct Web Remoting)是一种Java库,用于在Web应用程序中实现实时的双向通信。它允许JavaScript和服务器端的Java代码之间直接交互,从而创建动态、富客户端的Web应用。DWR使得开发者能够在不借助传统的AJAX...

    DWR 1.0 学习示例

    4. **日志分析**:查看服务器和客户端的日志,可以帮助定位错误的来源。 5. **调试DWR代码**:使用DWR的调试模式,可以更详细地跟踪请求和响应过程,找出问题所在。 **项目结构** 根据提供的文件列表,我们可以...

    dwr 2 api chm格式

    10. **调试与日志**:DWR提供了调试工具和日志记录功能,帮助开发者诊断问题和优化代码。 通过深入阅读和理解"Dwr2.0.1api.chm"中的内容,开发者能够熟练掌握DWR 2.0.1的各个方面,从而利用其强大的功能来提升Web...

    dwr学习教程2

    【DWR学习教程2】是针对Direct Web Remoting(DWR)框架的深入学习资源,主要面向希望掌握或提升Web应用程序远程调用能力的开发者。DWR是一个开源Java库,它允许JavaScript在浏览器中直接调用服务器上的Java方法,...

    dwr中文教程简单易学,我们可以将其当做一本DWR的完整教程

    Direct Web Remoting (DWR) 是一个开源Java库,它允许Web应用程序在浏览器和服务器之间进行实时、双向通信,使得JavaScript可以直接调用服务器端的Java方法,仿佛它们是本地函数一样。DWR使得开发富互联网应用程序...

    DWR小例子_DEMO

    这个"DWR小例子_DEMO"是帮助开发者理解并快速上手DWR的一个实践项目,其中包含了说明文件和必要的代码示例。 DWR的核心功能是允许前端JavaScript直接调用后端Java方法,仿佛它们是在同一环境中运行一样,消除了传统...

    ajax的DWR框架入门例子

    DWR(Direct Web Remoting)是一个开放源码的JavaScript库,它使得在浏览器端与Java后端进行异步通信变得更加简单。DWR的核心功能是提供一种安全、高效的方法,允许JavaScript与服务器上的Java对象直接交互,类似于...

    (总)DWR学习下载

    在提供的压缩包文件“DWR与界面开发”中,可能包含了相关的示例代码、教程文档或者DWR项目的实例,这些都是深入学习和实践DWR的好资源。通过阅读和分析这些材料,你可以更全面地了解如何将DWR应用于实际项目,提高...

    dwr ajax完整示例,内有dwr配置说明文档,eclicps工程

    在本示例中,我们有一个关于DWR的完整案例,包括配置说明文档和一个Eclipse工程,这对于初学者或者想要深入理解DWR的人来说非常有用。 首先,DWR的核心功能在于它的反向AJAX技术。传统的AJAX请求是单向的,即从...

    dwr和ajax技术

    - **commons-logging-1.1.1.jar**:Apache Commons Logging库,用于日志记录,DWR可能使用它来记录运行时信息。 - **jstl.jar**:JavaServer Pages Standard Tag Library的JAR文件,用于JSP页面上的标准标签库,可能...

    Ajax框架:简单的dwr实例

    1. **Reverse AJAX**:DWR的核心特性之一是反向AJAX,即服务器主动向客户端推送数据,而不仅仅是响应客户端的请求。这使得用户界面可以实时更新,提高了用户体验。 2. **JavaBeans与JavaScript对象映射**:DWR自动...

    springMVC整合dwr完整例子

    **Direct Web Remoting (DWR)** 是一个JavaScript库,它使JavaScript代码能够调用服务器端的Java方法,就像它们是本地函数一样。DWR通过创建AJAX(异步JavaScript和XML)请求在客户端和服务器之间传递数据,极大地...

Global site tag (gtag.js) - Google Analytics