Пример интеграции с Struts 2 Log4j

Пример интеграции Struts 2 + Log4j

struts2 log4j

В этом руководстве мы покажем вам, как интегрировать каркас log4j с веб-приложением Struts 2. Все, что вам нужно сделать, это

  1. Включитеlog4j.jar как зависимость проекта

  2. Создайте файл log4j.properties и поместите его в корень пути к классам, с помощью Maven поместите его в папкуresources.

Используемые технологии и инструменты:

  1. Log4j 1.2.17

  2. Struts 2.3.16.3

  3. Maven 3

  4. Tomcat 6

  5. Затмение Кеплер 4.3

1. Каталог проектов

Просмотрите окончательную структуру проекта.

strruts2-log4j-directory

2. Зависимости проекта

Объявляет зависимости Struts 2 и log4j:

pom.xml



    4.0.0
    com.example.common
    Struts2
    war
    1.0-SNAPSHOT
    Struts + Log4j Webapp
    http://maven.apache.org

    
        1.7
        2.3.16.3
        1.2.17
    

    

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

        
        
            log4j
            log4j
            ${log4j.version}
        

    

    
      Struts2
      
        
            org.apache.maven.plugins
            maven-eclipse-plugin
            2.9
            
                true
                false
                2.0
            
        
        
            org.apache.maven.plugins
            maven-compiler-plugin
            2.3.2
            
                ${jdk.version}
                ${jdk.version}
            
        
      
    

3. log4j.properties

Создайте файл свойств log4j и поместите его в папкуresources, см. Шаг №1.

log4j.properties

# Root logger option
log4j.rootLogger=ERROR, stdout, file

# Redirect log messages to console
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.Target=System.out
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n

# Redirect log messages to a log file, support rolling backup file.
log4j.appender.file=org.apache.log4j.RollingFileAppender
log4j.appender.file.File=${catalina.home}/logs/mystruts2app.log
log4j.appender.file.MaxFileSize=5MB
log4j.appender.file.MaxBackupIndex=10
log4j.appender.file.layout=org.apache.log4j.PatternLayout
log4j.appender.file.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n

4. Struts 2 Action и Logging

Простое действие, чтобы вернуть страницу, и показывает, как вести журнал сообщений с log4j.

WelcomeAction.java

package com.example.common.action;

import org.apache.log4j.Logger;
import com.opensymphony.xwork2.ActionSupport;

public class WelcomeAction extends ActionSupport {

    private static final long serialVersionUID = 1L;

    //get log4j
    private static final Logger logger = Logger.getLogger(WelcomeAction.class);

    public String execute() throws Exception {

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

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

        return SUCCESS;

    }
}

5. Конфигурация Struts 2

Страницы конфигурации Struts 2 и JSP, на случай, если вы заинтересованы.

struts.xml





    

    

        
            pages/success.jsp
        

    

web.xml



    Struts 2 Web Application

    
        struts2
        
            org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter
        
    

    
        struts2
        /*
    

pages/success.jsp

<%@ taglib prefix="s" uri="/struts-tags" %>





Struts 2 + Log4j integration example

6. Demo

Запустите веб-приложение Struts 2 и получите доступ к приветствию.

struts 2 log4j demo

6.1 Все сообщения журнала будут отображаться в консоли.

strruts2-log4j-demo-eclipse-console

Рис.: Консоль Eclipse

6.2 Кроме того, в папке журналов Tomcat будет создан файл журнала.

strruts2-log4j-demo-file

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

Скачать исходный код

Скачать -Log4jAndStruts2Example.zip (20 КБ)