Struts + Log4j集成示例

Struts1和log4j

在本教程中,我们将向您展示如何将log4j框架与经典的Struts 1.3.x Web应用程序集成。 没有多余的工作,只需包含log4j.jar并创建一个log4j.xmllog4j.properties文件,并将其放入类路径的根目录(对于Maven,则将其放入资源文件夹)。

使用的技术和工具:

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

1.项目目录

查看最终项目结构。

struts1-log4j目录

2.项目依赖

声明Struts和log4j依赖项:

pom.xml
<properties>
		<struts.version>1.3.10</struts.version>
		<log4j.version>1.2.17</log4j.version>
	</properties>

	<dependencies>

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

		<dependency>
			<groupId>org.apache.struts</groupId>
			<artifactId>struts-taglib</artifactId>
			<version>${struts.version}</version>
		</dependency>

		<dependency>
			<groupId>org.apache.struts</groupId>
			<artifactId>struts-extras</artifactId>
			<version>${struts.version}</version>
		</dependency>

		<!-- Log4j -->
		<dependency>
			<groupId>log4j</groupId>
			<artifactId>log4j</artifactId>
			<version>${log4j.version}</version>
		</dependency>
		
		<!-- Need this for web -->
		<dependency>
			<groupId>javax.servlet</groupId>
			<artifactId>servlet-api</artifactId>
			<version>2.5</version>
		</dependency>
	</dependencies>

3. log4j.xml

创建一个log4j XML文件,并将其放入resources文件夹,请参考步骤1。 它告诉log4j将日志消息重定向到控制台和文件。

log4j.xml
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
<log4j:configuration debug="true"
  xmlns:log4j='http://jakarta.apache.org/log4j/'>

  <!-- Console -->
  <appender name="console" class="org.apache.log4j.ConsoleAppender">
	<layout class="org.apache.log4j.PatternLayout">
	    <param name="ConversionPattern" 
               value="%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n" />
	</layout>
  </appender>

  <!-- file  -->
  <appender name="file" class="org.apache.log4j.RollingFileAppender">
	<param name="append" value="false" />
	<param name="maxFileSize" value="10KB" />
	<param name="maxBackupIndex" value="5" />
	<param name="file" value="${catalina.home}/logs/myStruts1App.log" />
	<layout class="org.apache.log4j.PatternLayout">
	    <param name="ConversionPattern" 
                value="%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n" />
	</layout>
  </appender>

  <root>
	<level value="DEBUG" />
	<appender-ref ref="console" />
	<appender-ref ref="file" />
  </root>
</log4j:configuration>

4.消息记录

返回页面的简单操作,并向您展示如何使用log4j进行日志记录。

WelcomeAction.java
package com.mkyong.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
<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>Log4j + Struts Web Application</display-name>

	<servlet>
		<servlet-name>action</servlet-name>
		<servlet-class>
			org.apache.struts.action.ActionServlet
		</servlet-class>
		<init-param>
			<param-name>config</param-name>
			<param-value>
				/WEB-INF/struts-config.xml
			</param-value>
		</init-param>
		<load-on-startup>1</load-on-startup>

	</servlet>

	<servlet-mapping>
		<servlet-name>action</servlet-name>
		<url-pattern>*.do</url-pattern>
	</servlet-mapping>

</web-app>
struts-config.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts-config PUBLIC 
"-//Apache Software Foundation//DTD Struts Configuration 1.3//EN" 
"http://jakarta.apache.org/struts/dtds/struts-config_1_3.dtd">
 
<struts-config>
 
	<action-mappings>
  
		<action
			path="/welcome"
			type="com.mkyong.common.action.WelcomeAction"
			>	
 
			<forward name="success" path="/pages/welcome.jsp"/>
			
		</action>
	</action-mappings>
  
</struts-config>
pages/welcome.jsp
<%@taglib uri="http://struts.apache.org/tags-bean" prefix="bean"%>
<html>
<head>
</head>
<body>
<h1>
	Struts 1.x + Log4j framework
</h1>
</body>
</html>

6.演示

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

网址:http:// localhost:8080 / Log4jAndStruts1 / welcome.do

struts1-log4j-demo

6.1 Eclipse控制台。

struts1-log4j-控制台

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

struts1-log4j文件

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

下载源代码

下载它– Log4jAndStrutsExample.zip (11 KB)

参考文献

  1. log4j 1.2官方页面
  2. log4j你好世界示例
  3. Struts 2异常和日志记录

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

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值