捷凌网安JAVA频道
捷凌IT教育
首页 资讯动态 认证考试 新手入门 核心技术 高级技术 J2EE J2ME 开源技术 其他技术 论坛
 您现在的位置: 捷凌网安 >> Java >> 开源技术 >> Spring >> 正文
Spring 与 Log4J 进行动态日志配置切换

作者:佚名 责任编辑:左决 点击数: 更新时间:2008-5-11 3:30:29

   1.6 构建两个 JSP 页面
     一个成功的页面 RefreshSuccess.jsp,代码如下
    <%@page contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
    <title>动态配置操作成功</tITle>
    <link href="facade.css" rel="stylesheet" type="text/css"/>
    </head>

    <body>
    <img src="logger.jpg" alt="日志动态配置管理控制台"/>
    <p>
    恭喜:动态配置操作成功!
    <p>
    当前的配置为:
    <textarea rows="23" cols="123" ReadOnly><%=request.getAttribute("RunningConfig")%></textarea>
    <p>
    <a href="javaScript:history.go(-1)">返  回</a>
    </body>
    </html>

    以及一个失败的页面 RefreshFailed.jsp ,代码略

    1.7 配置 Spring 的 Bean 文件(Service)
    beanRefLog4J.xml

    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd">
    <beans>
     <bean id="propertyConfigurer" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
      <property name="locations">
       <list>
        <value>classpath:LoggerConsole.properties</value>
       </list>
      </property>
     </bean>
     <bean id="log4JRefreshInterval" class="net.agile.springtime.logger.util.Log4JRefreshInterval" init-method="inIT" destroy-method="destroy">
      <property name="location" value="${logger.log4j.location}"/>
      <property name="refreshDaemon" value="${logger.log4j.refreshDaemon}"/>
      <property name="refreshInterval" value="${logger.log4j.refreshInterval}"/>
      <property name="refreshSecond" value="${logger.log4j.refreshSecond}"/>  <property name="refreshMinute" value="${logger.log4j.refreshMinute}"/>  <property name="refreshHour" value="${logger.log4j.refreshHour}"/> </bean>
    </beans>

    1.8 配置 Spring 的 Bean 文件(MVC)
    beanRefMVC.xml

    <?xml version="1.0" encoding="utf-8"?>
    <!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd">
    <beans>
      <bean id="urlMapping" class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">
      <property name="mappings">
       <props>
        <prop key="/log4JRefresh.do">log4JRefreshController</prop>
        <prop key="/log4JShutdown.do">log4JShutdownController</prop>
        <prop key="/log4JRunning.do">log4JRunningController</prop>
       </props>
      </property>
     </bean>
     <bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver">
      <property name="prefix">
       <value>/WEB-INF/jsp/</value>
      </property>
      <property name="suffix">
       <value>.jsp</value>
      </property>
     </bean>
     <bean id="log4JRefreshController" class="net.agile.springtime.logger.web.Log4JRefreshController">
      <property name="successView" value="RefreshSuccess"/>
      <property name="failedView" value="RefreshFailed"/>
      <property name="log4JRefreshInterval" ref="log4JRefreshInterval"/>
     </bean>
      <bean id="log4JShutdownController" class="net.agile.springtime.logger.web.Log4JShutdownController">
      <property name="successView" value="RefreshSuccess"/>
      <property name="failedView" value="RefreshFailed"/>
      <property name="log4JRefreshInterval" ref="log4JRefreshInterval"/>
     </bean>
      <bean id="log4JRunningController" class="net.agile.springtime.logger.web.Log4JRunningController">
      <property name="successView" value="RefreshSuccess"/>
      <property name="failedView" value="RefreshFailed"/>
      <property name="log4JRefreshInterval" ref="log4JRefreshInterval"/>
     </bean>
    </beans>

    1.9 在你现有的应用中引胝饬礁?Spring 的配置文件,或者根据你的项目结构进行调整即可

    <?xml version="1.0" encoding="utf-8"?>
    <!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd">
    <beans>
     <import resource="beanRefLog4J.xml" />
     <import resource="beanRefMVC.xml" />
    </beans>

    1.10 配置 web.xml 文件
      在 web.xml 中增加 Spring MVC 的配置以及测试用的 Servlet 的配置,完整的配置如下:
    <!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd">
    <web-app>
     <display-name>Spring Log4J Refresh Web Application</display-name>
     <description>Spring Log4J Refresh Web Application</description>
      <context-param>
      <param-name>contextConfigLocation</param-name>
      <param-value>/WEB-INF/classes/beanRefApplication.xml</param-value>
     </context-param>
        <listener>
            <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
        </listener>
      <servlet>
      <servlet-name>dispatcherServlet</servlet-name>
      <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
      <load-on-startup>50</load-on-startup>
     </servlet>
        <servlet>
      <servlet-name>HelloServlet</servlet-name>
      <display-name>HelloServlet</display-name>
      <servlet-class>net.agile.springtime.logger.web.HelloServlet</servlet-class>
     </servlet>
         <servlet-mapping>
      <servlet-name>HelloServlet</servlet-name>
      <url-pattern>/HelloServlet</url-pattern>
     </servlet-mapping>
     <servlet-mapping>
      <servlet-name>dispatcherServlet</servlet-name>
      <url-pattern>*.do</url-pattern>
     </servlet-mapping>
    </web-app>
    这样,你的项目就具有了动态日志配置切换的功能了。

上一页  [1] [2] [3] [4] 下一页

  • 上一篇文章:

  • 下一篇文章:
  •  
     最进更新
    普通文章J2SE实现windows读取网卡的物05-11
    普通文章Scala—Java的避难所之main(05-11
    普通文章Spring数据源的灵活配置巧应05-11
    普通文章Spring 与 Log4J 进行动态日05-11
    普通文章Heritrix的多线程ToeThread和05-11
    普通文章应用spring示例开发网站构思05-11
    普通文章Spring 数据源配置与应用05-11
    普通文章Spring中的四种声明式事务的05-11
    普通文章Hibernate+Spring搞定Clob、05-11
    普通文章Hibernate的映射关联关系05-11
     
     推荐文章
    推荐文章Java技术开源搜索引擎04-30
    推荐文章Eclipse中建立自己的JUnit测04-30
    推荐文章Eclipse 3.3上安装jadclipse04-30
    推荐文章spring 编程入门十大问题解答04-30
    推荐文章Java编程中Spring的一些负面04-30
    推荐文章Java应用中Hibernate对多表关04-30
    推荐文章关于hibernate的缓存和CRUD04-30
    推荐文章基于Struts1.2的动态多文件上04-30
    推荐文章演示Struts2实现简单上传代码04-30
    推荐文章J2EE学习笔记--Struts初步认04-30
     
     热点文章
    普通文章J2SE实现windows读取网卡的物05-11
    普通文章Scala—Java的避难所之main(05-11
    普通文章Spring数据源的灵活配置巧应05-11
    普通文章Spring 与 Log4J 进行动态日05-11
    普通文章Heritrix的多线程ToeThread和05-11
    普通文章应用spring示例开发网站构思05-11
    普通文章Spring 数据源配置与应用05-11
    普通文章Spring中的四种声明式事务的05-11
    普通文章Hibernate+Spring搞定Clob、05-11
    普通文章Hibernate的映射关联关系05-11

    | 设为首页 | 加入收藏 | 联系站长 | 广告服务 | 友情链接 | 版权申明 | 网站地图 |

    在线交流 捷凌网安主群:51649627
    Copyright 2007-2008 © 捷凌网安. All rights reserved.
    备案序号:蜀ICP备08001812号