Struts Log4j統合の例

Struts + Log4j統合の例

struts 1 and log4j

このチュートリアルでは、log4jフレームワークを従来のStruts 1.3.x Webアプリケーションと統合する方法を示します。 余分な作業はありません。log4j.jarを含め、log4j.xmlまたはlog4j.propertiesファイルを作成し、クラスパスのルートに配置します(Mavenの場合はresourcesフォルダーに配置します)。

使用される技術とツール:

  1. Log4j 1.2.17

  2. Struts 1.3.10

  3. メーベン3

  4. トムキャット6

  5. Eclipseケプラー4.3

1. プロジェクトディレクトリ

最終的なプロジェクト構造を確認します。

struts1-log4j-directory

2. プロジェクトの依存関係

Strutsとlog4jの依存関係を宣言します。

pom.xml

    
        1.3.10
        1.2.17
    

    

        
        
            org.apache.struts
            struts-core
            ${struts.version}
        

        
            org.apache.struts
            struts-taglib
            ${struts.version}
        

        
            org.apache.struts
            struts-extras
            ${struts.version}
        

        
        
            log4j
            log4j
            ${log4j.version}
        

        
        
            javax.servlet
            servlet-api
            2.5
        
    

3. log4j.xml

log4j XMLファイルを作成し、それをresourcesフォルダーに配置します。手順1を参照してください。 ロギングメッセージをコンソールとファイルにリダイレクトするようにlog4jに指示します。

log4j.xml




  
  
    
        
    
  

  
  
    
    
    
    
    
        
    
  

  
    
    
    
  

4. メッセージロギング

ページを返す簡単なアクション。log4jを使用してロギングを行う方法を示します。

WelcomeAction.java

package com.example.common.action;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.log4j.Logger;
import org.apache.struts.action.Action;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;

public class WelcomeAction extends Action{

    //Get a logger
    private static final Logger logger = Logger.getLogger(WelcomeAction.class);

    public ActionForward execute(ActionMapping mapping,ActionForm form,
        HttpServletRequest request,HttpServletResponse response)
        throws Exception {

        //logs debug
        if(logger.isDebugEnabled()){
            logger.debug("WelcomeAction.execute()");
        }

        //logs exception
        logger.error("This is Error message", new Exception("Testing"));

        return mapping.findForward("success");

    }

}

5. Struts 1の構成

シンプルなStruts 1構成など。

web.xml



    Log4j + Struts Web Application

    
        action
        
            org.apache.struts.action.ActionServlet
        
        
            config
            
                /WEB-INF/struts-config.xml
            
        
        1

    

    
        action
        *.do
    

struts-config.xml





    

        

            

        
    

pages/welcome.jsp

<%@taglib uri="http://struts.apache.org/tags-bean" prefix="bean"%>




Struts 1.x + Log4j framework

6. Demo

Struts 1 Webアプリケーションを実行し、ようこそアクションにアクセスします。

struts1-log4j-demo

6.1 Eclipse console.

struts1-log4j-console

6.2 Furthermore, a logging file will be created in the Tomcat’s logs folder.

struts1-log4j-file

Figure : D:pache-tomcat-6.0.37\logs\myStruts1App.log

ソースコードをダウンロード

ダウンロード–Log4jAndStrutsExample.zip(11 KB)