posts - 36, comments - 30, trackbacks - 0, articles - 3

          Struts,Spring,Hibernate Web應用開發2

          Posted on 2008-01-02 10:06 笑看人生 閱讀(584) 評論(0)  編輯  收藏 所屬分類: Web開發技術
          1.我們已經搭建完了基本框架,接下來加入日志功能,只需修改原來的web.xml,增加一些配置信息:

           1<!--通知Spring Log4j配置文件的位置 -->
           2<context-param>
           3    <param-name>log4jConfigLocation</param-name>
           4    <param-value>/WEB-INF/log4j.properties</param-value>
           5</context-param>
           6 
           7<!--Spring默認刷新Log4j配置文件的間隔,單位為millisecond-->
           8<context-param>
           9    <param-name>log4jRefreshInterval</param-name>
          10    <param-value>60000</param-value>
          11</context-param>
          12 
          13<!--在應用啟動時,由Spring負責加載Log4j-->
          14<listener>
          15    <listener-class>org.springframework.web.util.Log4jConfigListener</listener-class>
          16</listener>

          2.接下來我們定義log4j.properties

           1# Global logging configuration
           2log4j.rootLogger=DEBUG,console,file
           3 
           4## APPENDERS ##
           5# define an appender named console, which is set to be a ConsoleAppender
           6log4j.appender.console=org.apache.log4j.ConsoleAppender
           7 
           8# define an appender named file, which is set to be a RollingFileAppender
           9log4j.appender.file=org.apache.log4j.RollingFileAppender
          10# replace <CATALINA_HOME> with your true path
          11log4j.appender.file.File=D:/eclipse/workspace/login/log.txt
          12 
          13## LAYOUTS ##
          14# assign a SimpleLayout to console appender
          15log4j.appender.console.layout=org.apache.log4j.SimpleLayout
          16 
          17# assign a PatternLayout to file appender
          18log4j.appender.file.layout=org.apache.log4j.PatternLayout
          19log4j.appender.file.layout.ConversionPattern=%t%p-%m%n

          在log4j.properties中,我們定義了日志級別是DEBUG,日志信息輸出目的地是控制臺(console)和文件(file)。

          3.這樣我們就可以在程序代碼中進行日志操作了:

           1package test.register.action;
           2 
           3import javax.servlet.http.HttpServletRequest;
           4import javax.servlet.http.HttpServletResponse;
           5 
           6import org.apache.log4j.LogManager;
           7import org.apache.log4j.Logger;
           8import org.apache.struts.action.Action;
           9import org.apache.struts.action.ActionForm;
          10import org.apache.struts.action.ActionForward;
          11import org.apache.struts.action.ActionMapping;
          12import org.apache.struts.action.DynaActionForm;
          13 
          14import test.register.entity.Register;
          15import test.register.service.RegisterService;
          16 
          17public class RegisterAction extends Action{
          18       
          19       private static final Logger log = LogManager.getLogger(RegisterAction.class);
          20       
          21       private RegisterService registerService;
          22 
          23       public RegisterService getRegisterService() {
          24              return registerService;
          25       }

          26 
          27       public void setRegisterService(RegisterService registerService) {
          28              this.registerService = registerService;
          29       }

          30 
          31       public ActionForward execute(ActionMapping mapping,
          32                                                               ActionForm form, 
          33                                                 HttpServletRequest request, 
          34                                    HttpServletResponse response) 
          35       throws Exception {
          36              log.info("save register");
          37              Register r = (Register)((DynaActionForm)form).get("register"); 
          38              getRegisterService().saveRegister(r);           
          39              return mapping.findForward("success");
          40       }
               
          41       
          42}

          4.在上面log4j.properties中,我們指定日志輸入文件用了絕對路徑,這在很多時候不方便,為此我們作如下修改:在web.xml中增加一個上下文參數

          1<context-param>
          2    <param-name>webAppRootKey</param-name>
          3    <param-value>webLogin.root</param-value>
          4</context-param>

          增加系統變量,變量名為webAppRootKey,變量值可以指定應用部署的目錄,這樣就可以在log4j.properties對日志輸出的文件路徑作如下修改:

          log4j.appender.file.File=${webLogin.root}/log.txt


          主站蜘蛛池模板: 饶阳县| 灵川县| 武邑县| 扎囊县| 年辖:市辖区| 抚州市| 葫芦岛市| 明溪县| 黄冈市| 新化县| 上杭县| 襄汾县| 观塘区| 雷波县| 延津县| 聊城市| 保德县| 仁怀市| 宝应县| 富宁县| 清丰县| 巴马| 寿光市| 宣威市| 东阳市| 大足县| 互助| 高密市| 小金县| 陇西县| 宁城县| 枣庄市| 泸西县| 鹤庆县| 临潭县| 宝兴县| 绥江县| 安康市| 织金县| 济南市| 宁远县|