玩转Spring MVC(五)----在spring中整合log4j
在前边的基础上,本文主要总结一下如何在spring 中配置log4j,在本文末尾会给出完整项目的链接。
首先是web.xml中要新添加的代码:
<!-- 6. 配置log4j -->
<!--6.1 配置加载log4j.xml文件路径 -->
<context-param>
<param-name>log4jConfigLocation</param-name>
<param-value>/WEB-INF/classes/spring/log4jConfig.xml</param-value>
</context-param> <!-- 6.2 配置log4j.xml变量 -->
<context-param>
<param-name>rootLevel</param-name>
<param-value>DEBUG</param-value>
</context-param> <context-param>
<param-name>loggingLevel</param-name>
<param-value>INFO</param-value>
</context-param> <!-- 6.3 配置log4j.xml监听器 -->
<listener>
<listener-class>org.springframework.web.util.Log4jConfigListener</listener-class>
</listener>
然后在src/config/spring文件夹下添加log4jConfig.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE log4j:configuration PUBLIC "-//APACHE//DTD LOG4J 1.2//EN" "WEB-INF/classes/spring/log4j.dtd">
<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/"> <!-- 该配置文件共定义了4个appender,即log日志的四个输出位置,关于appender详见 注4--> <!-- [控制台]
-->
<appender name="console" class="org.apache.log4j.ConsoleAppender"> <!-- ConsoleAppender即表示日志输出方式为控制台 -->
<param name="encoding" value="UTF-8" />
<param name="target" value="System.out" /> <!-- log日志的输出位置为系统输出,一般就是控制台 -->
<!-- 关于layout中的参数详见 注5 -->
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="%-5p %c{2} - %m%n" />
</layout>
</appender> <!-- [公共Appender] -->
<appender name="DEFAULT-APPENDER" class="org.apache.log4j.DailyRollingFileAppender"> <!-- DailyRollingFileAppender即输出方式为每天产生一个日志文件 -->
<param name="File" value="../logs/common-default.log" /> <!-- 日志文件输出路径-->
<param name="Append" value="true" /> <!-- 设置是否在重新启动服务时,在原有日志的基础添加新日志 -->
<param name="encoding" value="UTF-8" />
<param name="DatePattern" value="'.'yyyy-MM-dd'.log'" /> <!-- 每天的日志的名字,如:common-default.2015-02-06.log -->
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="%d %-5p %c{2} - %m%n" />
</layout>
</appender> <!-- [错误日志 专用于收集特殊错误的文件] -->
<appender name="ERROR-APPENDER" class="org.apache.log4j.DailyRollingFileAppender">
<param name="File" value="../logs/common-error.log" />
<param name="Append" value="true" />
<param name="encoding" value="UTF-8" />
<param name="threshold" value="error" /> <!-- 日志输出级别为error,详见 注6 -->
<param name="DatePattern" value="'.'yyyy-MM-dd'.log'" />
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="%d %-5p %c{2} - %m%n" />
</layout>
</appender> <!-- [组件日志APPENDER] -->
<appender name="COMPONENT-APPENDER"
class="org.apache.log4j.DailyRollingFileAppender">
<param name="File" value="../logs/logistics-component.log" />
<param name="Append" value="true" />
<param name="encoding" value="utf-8" />
<param name="DatePattern" value="'.'yyyy-MM-dd'.log'" />
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="%d %-5p %c{2} - %m%n" />
</layout>
</appender> <!-- 用于定义logger的lever和所采用的appender,其中appender-ref必须为先前定义的 appenders的名称。
那么log就会以appender所定义的输出格式来输出log。 -->
<logger name="LOGISTICS-COMPONENT">
<level value="${loggingLevel}" />
<appender-ref ref="COMPONENT-APPENDER" />
<appender-ref ref="ERROR-APPENDER" />
</logger> <!-- Root Logger -->
<!-- 1.root的作用是收集下面所有反馈上来的信息流并根据配置在root中appender进行输出,
只要你在looger中配置了additivity="false",就不会反馈到root中。
2.root标签为log的默认输出形式,如果一个类的log没有在loggers中明确指定其输出lever与格式,那么就会采用root中定义的格式-->
<root>
<level value="${rootLevel}"></level>
<appender-ref ref="DEFAULT-APPENDER" />
<appender-ref ref="ERROR-APPENDER" />
</root>
</log4j:configuration>
接下来在将log4jjar包log4j-1.2.17\org\apache\log4j\xml下的log4j.dtd复制到src/config/spring下。
当然,人需要导入相应的包。
完整项目见:http://download.csdn.net/detail/u012116457/8431651
版权声明:本文为博主原创文章,未经博主允许不得转载。
玩转Spring MVC(五)----在spring中整合log4j的更多相关文章
- spring MVC框架入门(外加SSM整合)
spring MVC框架 一.什么是sping MVC Spring MVC属于SpringFrameWork的后续产品,已经融合在Spring Web Flow里面.Spring 框架提供了构建 W ...
- Spring3 + Spring MVC+ Mybatis 3+Mysql 项目整合(注解及源码)
Spring3 + Spring MVC+ Mybatis 3+Mysql 项目整合(注解及源码) 备注: 之前在Spring3 + Spring MVC+ Mybatis 3+Mysql 项目整合中 ...
- spring mvc注解和spring boot注解
1 spring mvc和spring boot之间的关系 spring boot包含spring mvc.所以,spring mvc的注解在spring boot总都是可以用的吗? spring b ...
- java之spring mvc之初始spring mvc
1. mvc : mvc框架是处理 http请求和响应的框架 2. mvc 做的事情有哪些: 将 url 映射到一个java的处理方法上 将表单数据提交到 java 类中 将后台 java 类处理的结 ...
- 玩转spring mvc(四)---在spring MVC中整合JPA
关于在Spring MVC中整合JPA是在我的上一篇关于spring mvc基本配置基础上进行的,所以大家先参考一下我的上一篇文章:http://blog.csdn.net/u012116457/ar ...
- 展开被 SpringBoot 玩的日子 《 五 》 spring data jpa 的使用
在上篇文章< 展开被 SpringBoot 玩的日子 < 二 >WEB >中简单介绍了一下spring data jpa的基础性使用,这篇文章将更加全面的介绍spring da ...
- Spring MVC如何获取请求中的参数
目录 一.获取URL中路径参数 1.1 @PathVariable 注解 1.2 @PathParam 注解 二.获取请求参数: 2.1 GET请求 2.1.1 获取请求中的单个参数:@Request ...
- Spring MVC(五)--控制器通过注解@RequestParam接受参数
上一篇中提到,当前后端命名规则不一致时,需要通过注解@RequestParam接受参数,这个注解是作用在参数上.下面通过实例说明,场景如下: 在页面输入两个参数,控制器通过注解接受,并将接受到的数据渲 ...
- mybatis 3.2.7 与 spring mvc 3.x、logback整合
github上有一个Mybatis-Spring的项目,专门用于辅助完成mybatis与spring的整合,大大简化了整合难度,使用步骤: 准备工作: maven依赖项: <properties ...
随机推荐
- hibernate链接数据库链接池c3p0配置
[html] view plain copy <bean id="dataSourceLocal" name="dataSource" class=&qu ...
- 恶补web之三:http学习
http是超文本传输协议的简称,该协议设计目的是保证客户机与服务器之间的通信.http的工作方式为客户机与服务器之间的请求-应答协议. 一般来说web浏览器是客户端,计算机上的网络应用程序可能作为服务 ...
- Java数据结构面试题,输出 最后一个 出现次数为1的字符
今天去面试,遇到一个数据结构题,给定一个字符串,输出 最后一个 出现次数为1的字符 回来研究了下,代码如下: package com.pine.interview.test; import java. ...
- HTML中<base>标签的正确使用
HTML <base> 标签 1. 定义:<base> 标签是 HTML 语言中的基准网址标记,是一个单标签. 2. 作用:规定页面上所有链接的默认 URL 和默认目标. ...
- MacOS软件默认安装路径
缘起 在用苹果电脑后,很多软件安装后并不只是简单的将所有的文件都放到/Applications目录里,尤其是一些开发用的软件.这就导致要修改一些软件的配置很不方便,总是需要各种查找.为了防止以后忘记这 ...
- 14 Live CDs for Penetration Testing (Pen Test) and Forensic
http://www.ivizsecurity.com/blog/penetration-testing/live-cd-penetration-testing-pen/ Yesterday I wa ...
- Aptana版本回滚的方法
最近Aptana对Django1.7的编译支持有点问题,开发环境必须使用Django1.6版本,今天看了一眼它的官网,版本已经到3.6.1,我的版本还是3.4.2,就checkupdate升级到3.6 ...
- 大型进销存管理系统源码 家电业 电器类进销存 asp.net C#框架
系统详细信息点击查看 系统功能模块,系统管理: 部门管理 ,用户管理 ,角色管理 ,菜单管理 ,参数设置 商品管理: 类型管理 ,品牌管理 ,名称管理 ,型号管理 ,仓库管理 ,商家管理 ,单位管理 ...
- 【leetcode】 算法题 两数之和
问题 给定一个整数数组和一个目标值,找出数组中和为目标值的两个数. 你可以假设每个输入只对应一种答案,且同样的元素不能被重复利用. 示例: 给定 nums = [2, 7, 11, 1 ...
- 拿到月薪30K,必选一些Python好书!
论述: Python是所有编程语言中与人工智能最紧密相连的编程语言,阿尔法狗都在使用的 Python 语言. 教育部早在两个月前(自2018年3月起)就以及公布:大学生全国计算机二级考试中必考Pyth ...