Spring MVC + Log4j的例子

作者:青山常在人不老   阅读 (2750)  |  收藏 (0)  |  点赞 (0)

摘要

在本教程中,我们将向您展示如何使用log4j框架在Spring MVC Web应用程序中进行日志记录。


原文链接:Spring MVC + Log4j的例子

使用的技术和工具:

  1. Log4j 1.2.17

  2. 春季4.1.6.RELEASE

  3. Maven 3

  4. 雄猫6

  5. Eclipse Kepler 4.3

注意
默认情况下,Spring(spring-core)使用JCL(commons-logging)进行日志记录,JCL有一个运行时发现算法,用于查找项目类路径中众所周知的其他日志框架。

要集成log4j,您需要做的就是:

  1. 提出了log4j.jar在项目类路径中。

  2. 在项目根类路径中创建一个log4j.properties或log4j.xml文件(如果您遵循Maven标准目录结构,则应该是该resources文件夹)。

1.项目目录

检查最终的项目结构。

弹簧MVC-log4j的

2.项目依赖性

声明以下依赖项:

的pom.xml
	<properties>
		<spring.version>4.1.6.RELEASE</spring.version>
		<log4j.version>1.2.17</log4j.version>
	</properties>
	<dependencies>
		<!-- Spring -->
		<dependency>
			<groupId>org.springframework</groupId>
			<artifactId>spring-webmvc</artifactId>
			<version>${spring.version}</version>
		</dependency>
		<!-- Log4j -->
		<dependency>
			<groupId>log4j</groupId>
			<artifactId>log4j</artifactId>
			<version>${log4j.version}</version>
		</dependency>
	</dependencies>复制

3. log4j.properties

创建一个log4j.properties文件,并将其放入resources。文件夹,参考上面的项目目录结构。

log4j.properties
# Root logger optionlog4j.rootLogger=DEBUG, stdout, file# Redirect log messages to consolelog4j.appender.stdout=org.apache.log4j.ConsoleAppenderlog4j.appender.stdout.Target=System.outlog4j.appender.stdout.layout=org.apache.log4j.PatternLayoutlog4j.appender.stdout.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n# Redirect log messages to a log filelog4j.appender.file=org.apache.log4j.RollingFileAppender#outputs to Tomcat homelog4j.appender.file.File=${catalina.home}/logs/myapp.loglog4j.appender.file.MaxFileSize=5MBlog4j.appender.file.MaxBackupIndex=10log4j.appender.file.layout=org.apache.log4j.PatternLayoutlog4j.appender.file.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n复制

4. Spring MVC Controller +消息记录

一个简单的控制器,用于返回欢迎页面。此外,它还向您展示了如何使用log4j进行日志记录。

WelcomeController.java
package com.mkyong.common.controller;import org.apache.log4j.Logger;import org.springframework.stereotype.Controller;import org.springframework.web.bind.annotation.RequestMapping;import org.springframework.web.bind.annotation.RequestMethod;import org.springframework.web.servlet.ModelAndView;@Controllerpublic class WelcomeController {
	private static final Logger logger = Logger.getLogger(WelcomeController.class);
	@RequestMapping(value = "/", method = RequestMethod.GET)
	public ModelAndView getWelcome() {
		//logs debug message
		if(logger.isDebugEnabled()){
			logger.debug("getWelcome is executed!");
		}
		
		//logs exception
		logger.error("This is Error message", new Exception("Testing"));
		
		ModelAndView model = new ModelAndView("welcome");
		model.addObject("msg", "Hello Spring MVC + Log4j");
		return model;
	}}复制

5.演示

5.1下载源代码,并使用嵌入式Jetty容器运行Web应用程序。

$ mvn jetty:run复制

访问URL:http:// localhost:8080 / spring-mvc-log4j /

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

log4j.properties
# Redirect log messages to consolelog4j.appender.stdout=org.apache.log4j.ConsoleAppenderlog4j.appender.stdout.Target=System.outlog4j.appender.stdout.layout=org.apache.log4j.PatternLayoutlog4j.appender.stdout.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n复制
Jetty控制台
2015-06-19 14:10:35 DEBUG WelcomeController:19 - getWelcome is executed!2015-06-19 14:10:35 ERROR WelcomeController:23 - This is Error messagejava.lang.Exception: Testing
        at com.mkyong.common.controller.WelcomeController.getWelcome(WelcomeController.java:23)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:606)复制

下载源代码

下载它 - spring-mvc-log4j.zip(5 KB)

参考

  1. Spring参考 - 使用log4j

  2. log4j 1.2官方页面

  3. log4j你好世界的例子

  4. log4j.properties示例


分类   Spring 配置
字数   3597

博客标签    Spring MVC   log4j demo   Spring配置log4j  

评论