Struts 2 + Log4j集成示例

这篇教程详细介绍了如何在Struts 2 Web应用中集成Log4j框架。内容包括项目依赖、log4j.properties配置、Struts 2操作及日志记录、配置演示,以及下载源代码的链接。
摘要由CSDN通过智能技术生成
struts2 log4j

在本教程中,我们将向您展示如何将Log4j框架与Struts 2 Web应用程序集成。 您需要做的就是

  1. 包括log4j.jar作为项目依赖项
  2. 创建一个log4j.properties文件,并将其放入类路径的根目录中(使用Maven),将其放入resources文件夹中。

使用的技术和工具:

  1. Log4j 1.2.17
  2. Struts2.3.16.3
  3. Maven 3
  4. 雄猫6
  5. Eclipse开普勒4.3

1.项目目录

查看最终项目结构。

strruts2-log4j目录

2.项目依赖

声明Struts 2和log4j依赖项:

pom.xml
<project xmlns="http://maven.apache.org/POM/4.0.0" 
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 
	http://maven.apache.org/maven-v4_0_0.xsd">

	<modelVersion>4.0.0</modelVersion>
	<groupId>com.mkyong.common</groupId>
	<artifactId>Struts2</artifactId>
	<packaging>war</packaging>
	<version>1.0-SNAPSHOT</version>
	<name>Struts + Log4j Webapp</name>
	<url>http://maven.apache.org</url>

	<properties>
		<jdk.version>1.7</jdk.version>
		<struts.version>2.3.16.3</struts.version>
		<log4j.version>1.2.17</log4j.version>
	</properties>

	<dependencies>

		<!-- Struts 2 -->
		<dependency>
			<groupId>org.apache.struts</groupId>
			<artifactId>struts2-core</artifactId>
			<version>${struts.version}</version>
		</dependency>

		<!-- Log4j -->
		<dependency>
			<groupId>log4j</groupId>
			<artifactId>log4j</artifactId>
			<version>${log4j.version}</version>
		</dependency>

	</dependencies>

	<build>
	  <finalName>Struts2</finalName>
	  <plugins>
		<plugin>
			<groupId>org.apache.maven.plugins</groupId>
			<artifactId>maven-eclipse-plugin</artifactId>
			<version>2.9</version>
			<configuration>
				<downloadSources>true</downloadSources>
				<downloadJavadocs>false</downloadJavadocs>
				<wtpversion>2.0</wtpversion>
			</configuration>
		</plugin>
		<plugin>
			<groupId>org.apache.maven.plugins</groupId>
			<artifactId>maven-compiler-plugin</artifactId>
			<version>2.3.2</version>
			<configuration>
				<source>${jdk.version}</source>
				<target>${jdk.version}</target>
			</configuration>
		</plugin>
	  </plugins>
	</build>
</project>

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操作和记录

返回页面的简单操作,并向您展示如何使用log4j记录消息。

WelcomeAction.java
package com.mkyong.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
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
"http://struts.apache.org/dtds/struts-2.0.dtd">

<struts>
	<constant name="struts.devMode" value="true" />

	<package name="welcome" namespace="/" extends="struts-default">

		<action name="welcome" class="com.mkyong.common.action.WelcomeAction">
			<result name="success">pages/success.jsp</result>
		</action>

	</package>

</struts>
web.xml
<web-app xmlns="http://java.sun.com/xml/ns/javaee" 
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xsi:schemaLocation="http://java.sun.com/xml/ns/javaee 
	http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
	version="2.5">

	<display-name>Struts 2 Web Application</display-name>

	<filter>
		<filter-name>struts2</filter-name>
		<filter-class>
			org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter
		</filter-class>
	</filter>

	<filter-mapping>
		<filter-name>struts2</filter-name>
		<url-pattern>/*</url-pattern>
	</filter-mapping>

</web-app>
pages/success.jsp
<%@ taglib prefix="s" uri="/struts-tags" %>
<html>
<head>
</head>
 
<body>
<h1>Struts 2 + Log4j integration example</h1>

</body>
</html>

6.演示

运行Struts 2 Web应用程序,并访问欢迎操作。

网址:http:// localhost:8888 / Log4jAndStruts2 / welcome

struts 2 log4j演示

6.1所有日志消息将显示在控制台中。

strruts2-log4j-demo-eclipse-console

图片:Eclipse控制台

6.2此外,将在Tomcat的logs文件夹中创建一个日志文件。

strruts2-log4j-demo-file

图片:D:\ apache-tomcat-6.0.37 \ logs \ mystruts2app.log

下载源代码

下载它– Log4jAndStruts2Example.zip (20 KB)

参考文献

  1. 创建Struts 2 Web应用程序示例
  2. log4j 1.2官方页面
  3. log4j你好世界示例
  4. Struts 2异常和日志记录

翻译自: https://mkyong.com/struts2/struts-2-log4j-integration-example/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值