Eclipse+Servlet 2.5のStruts 2プロジェクトはLog 4 j 2を使用します.

6320 ワード

J 2 EEではLog 4 j 2をどのように使うかは公式文書を見ることができます.http://logging.apache.org/log4j/2.x/manual/webapp.html
以下は簡単なDEMOです.
1、まずLog 4 j 2 InJ 2 EEDemoという項目を作成し、以下のように配置する.
Eclipse+Servlet 2.5 的Struts2项目使用Log4j2_第1张图片
2、struts 2関連のカバンを導入し、基礎配置を行う.参考:http://blog.csdn.net/axwolfer/article/details/40057941
3、ロゴ4 j 2に関するパッケージを導入し、srcプロジェクトにロゴ4 j 2.xmlのプロファイルを追加し、以下のように構成する.
配置には2つのアプリがあります.1つの時の標準的なシステム出力、一つはスクロールファイルです.ここのスクロールファイルには「logs/demorrolling.logs」が設定されています.この設定を使うと、Eclipseでデバッグします.最終的なログはEclipseのインストールディレクトリに出力されます.インストールディレクトリの下でlogsフォルダを作成します.


	
    
  
  
      
    
    
      
        %d{MM-dd-yyyy} %p %c{1.} [%t] -%M-%L- %m%n
      
      
        
        
      
      
    
  
  
  
      	
		
    
      
    
  

4、comp.log 4 j 2 inj 2 eedemo.Demoというアクションを作成しました.コードは以下の通りです.
package com.log4j2inj2eedemo;

import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;

import com.opensymphony.xwork2.ActionSupport;


public class Demo extends ActionSupport {
	private static final Logger logger = LogManager.getLogger(Demo.class);

	/* (non-Javadoc)
	 * @see com.opensymphony.xwork2.ActionSupport#execute()
	 */
	@Override
	public String execute() throws Exception {
		// TODO Auto-generated method stub
		logger.info("This is just a test.");
		return SUCCESS;
	}
}
5、index.jspというページを追加して、ページの内容は自由に書きます.





Insert title here


This is just a test.

6、sturts.xmlにdemoとindex.jspを配置する対応関係:





  


		
            /index.jsp
        
	

7、web.xmlに私達のLog 4 jプロファイルとロゴ4 jのフィルタを配置する:


  Log4j2InJ2EEDemo
  
    index.html
    index.htm
    index.jsp
    default.html
    default.htm
    default.jsp
  
  
     
        struts2  
          
            org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter  
          
      
      
        struts2  
        /*  
    
    
    
        isLog4jAutoInitializationDisabled
        false
    
    
	
        log4jConfiguration
        /WEB-INF/classes/log4j2.xml
    

    
        org.apache.logging.log4j.web.Log4jServletContextListener
    
 
    
        log4jServletFilter
        org.apache.logging.log4j.web.Log4jServletFilter
    
    
        log4jServletFilter
        /*
        REQUEST
        FORWARD
        INCLUDE
        ERROR
       
    
8、最終プロジェクトの構造は以下の通りである.
Eclipse+Servlet 2.5 的Struts2项目使用Log4j2_第2张图片
9:、デバッグを開始し、ブラウザのアドレスバーに入力します.http://localhost:8080/Log4j2InJ2EEDemo/demo.action
Eclipseインストールディレクトリの下で新しく作成したlogsフォルダとログのログを表示します.
Eclipse+Servlet 2.5 的Struts2项目使用Log4j2_第3张图片
10、プロジェクトをWARからtomcatのwebappsディレクトリにエクスポートすると、tomcatシステムを再起動すると自動的にLog 4 j 2 InJ 2 EEDemoプロジェクトが展開され、起動が完了したら、ブラウザのアドレスバーに再入力します.http://localhost:8080/Log4j2InJ2EEDemo/demo.actionそしてログを検索する時にログが見つからなくなりました.私はwin 8システムを使っています.この場合、log 4 j.xmlを修正します.RollingFileのfileName属性をfileName=「/logs/demorrolling.log」に修正してWARを再導出し、tomcatを再起動してIndexページを閲覧すると、Cディスクのルートディレクトリの下でlogs/demorrolling.logファイルを見つけることができます.