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 (Direct Web Remoting) 是一个开源框架,它允许JavaScript在浏览器端直接调用Java方法,从而实现AJAX的应用。...对于任何希望深入了解DWR工作原理的开发者来说,阅读源代码都是一个有价值的学习过程。
通过源码,开发者可以深入理解DWR的工作原理,调试代码,或者根据项目需求进行定制。 描述中提到的"commons-logging-1.0.4.jar"是一个广泛使用的日志抽象层,它允许DWR根据配置选择不同的日志实现,如Log4j、java....
**标题解析:** "LogViewer(DWR2)" 指的是一个基于DWR2技术的日志查看器示例项目。DWR (Direct Web Remoting) 是一个开源的JavaScript库,它允许Web应用程序在客户端和服务器之间进行实时通信,无需使用Ajax或页面...
8. **调试与优化**:DWR提供了丰富的日志功能和错误处理机制,这有助于你在开发过程中调试和优化代码。通过调整`dwr.xml`的配置,你可以控制日志的详细程度。 9. **安全考虑**:在实际项目中,使用DWR时需要注意...
在这个"简单使用DWR完整例子"中,我们将深入理解DWR的基本概念、配置、以及如何在SSH(Spring、Struts、Hibernate)技术框架下集成和应用DWR。 首先,了解DWR的核心概念至关重要。DWR通过JavaScript API使得Java...
Struts2是一个基于MVC设计模式的Java EE框架,用于构建可维护性和可扩展性高的企业级应用程序,而DWR则是一种使得JavaScript可以调用服务器端Java方法的库,实现了AJAX的异步通信。下面我们将深入探讨这两个技术以及...
Struts2还支持拦截器,这是一种AOP(面向切面编程)的概念,可以在Action执行前后插入自定义逻辑,例如权限检查、日志记录等。 DWR,另一方面,使得前端JavaScript可以直接调用后台的Java方法,就像它们都是本地...
DWR(Direct Web Remoting)是一种Java库,用于在Web应用程序中实现实时的双向通信。它允许JavaScript和服务器端的Java代码之间直接交互,从而创建动态、富客户端的Web应用。DWR使得开发者能够在不借助传统的AJAX...
4. **日志分析**:查看服务器和客户端的日志,可以帮助定位错误的来源。 5. **调试DWR代码**:使用DWR的调试模式,可以更详细地跟踪请求和响应过程,找出问题所在。 **项目结构** 根据提供的文件列表,我们可以...
10. **调试与日志**:DWR提供了调试工具和日志记录功能,帮助开发者诊断问题和优化代码。 通过深入阅读和理解"Dwr2.0.1api.chm"中的内容,开发者能够熟练掌握DWR 2.0.1的各个方面,从而利用其强大的功能来提升Web...
【DWR学习教程2】是针对Direct Web Remoting(DWR)框架的深入学习资源,主要面向希望掌握或提升Web应用程序远程调用能力的开发者。DWR是一个开源Java库,它允许JavaScript在浏览器中直接调用服务器上的Java方法,...
Direct Web Remoting (DWR) 是一个开源Java库,它允许Web应用程序在浏览器和服务器之间进行实时、双向通信,使得JavaScript可以直接调用服务器端的Java方法,仿佛它们是本地函数一样。DWR使得开发富互联网应用程序...
这个"DWR小例子_DEMO"是帮助开发者理解并快速上手DWR的一个实践项目,其中包含了说明文件和必要的代码示例。 DWR的核心功能是允许前端JavaScript直接调用后端Java方法,仿佛它们是在同一环境中运行一样,消除了传统...
DWR(Direct Web Remoting)是一个开放源码的JavaScript库,它使得在浏览器端与Java后端进行异步通信变得更加简单。DWR的核心功能是提供一种安全、高效的方法,允许JavaScript与服务器上的Java对象直接交互,类似于...
在提供的压缩包文件“DWR与界面开发”中,可能包含了相关的示例代码、教程文档或者DWR项目的实例,这些都是深入学习和实践DWR的好资源。通过阅读和分析这些材料,你可以更全面地了解如何将DWR应用于实际项目,提高...
在本示例中,我们有一个关于DWR的完整案例,包括配置说明文档和一个Eclipse工程,这对于初学者或者想要深入理解DWR的人来说非常有用。 首先,DWR的核心功能在于它的反向AJAX技术。传统的AJAX请求是单向的,即从...
- **commons-logging-1.1.1.jar**:Apache Commons Logging库,用于日志记录,DWR可能使用它来记录运行时信息。 - **jstl.jar**:JavaServer Pages Standard Tag Library的JAR文件,用于JSP页面上的标准标签库,可能...
1. **Reverse AJAX**:DWR的核心特性之一是反向AJAX,即服务器主动向客户端推送数据,而不仅仅是响应客户端的请求。这使得用户界面可以实时更新,提高了用户体验。 2. **JavaBeans与JavaScript对象映射**:DWR自动...
**Direct Web Remoting (DWR)** 是一个JavaScript库,它使JavaScript代码能够调用服务器端的Java方法,就像它们是本地函数一样。DWR通过创建AJAX(异步JavaScript和XML)请求在客户端和服务器之间传递数据,极大地...