spring mvc集成log4j

[size=large]

spring mvc集成log4j ,环境:maven

首先jar 引入:
<!-- 日志 -->
<dependency>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
<version>1.2.17</version>
</dependency>

<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-log4j12</artifactId>
<version>1.7.12</version>
</dependency>


然后配置文件:
src\main\resources\META-INF\configuration\log4j.properties

# Root logger option
### 根配置
log4j.rootLogger=DEBUG, stdout, file


# Redirect log messages to console
###输出到控制台
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.Target=System.out
###stdout的输出布局。
####其中log4j提供4种布局. org.apache.log4j.HTMLLayout(以HTML表格形式布局)
##org.apache.log4j.PatternLayout(可以灵活地指定布局模式),
##org.apache.log4j.SimpleLayout(包含日志信息的级别和信息字符串),
##org.apache.log4j.TTCCLayout(包含日志产生的时间、线程、类别等等信息)
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
log4j.appender.stdout.Encoding=UTF-8
#每天新建一个文件
log4j.appender.stdout=org.apache.log4j.DailyRollingFileAppender

# Redirect log messages to a log file
### 输出到文件 RollingFileAppender的扩展,可以提供一种日志的备份功能。
log4j.appender.file=org.apache.log4j.RollingFileAppender
#outputs to Tomcat home
#日志文件的名称
log4j.appender.file.File=${catalina.home}/logs/myapp.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


###在实际的项目开发中,很可能遇到所引用的包用Log4j来记录日志,比如Hibernate。那么在这里你可以很容易的控制这个包如何记录日志。比如在上面的配置文件中加一行:
###log4j.logger.org.hibernate=fatal
###那么所有org.hibernate包下面的类就只会显示很少的信息,因为fatal的级别最高啊。


然后web.xml中的配置:
<context-param>
<param-name>log4jConfigLocation</param-name>
<param-value>WEB-INF/classes/META-INF/configuration/log4j.properties</param-value><!-- log4j配置文件路径 -->
</context-param>

<listener>
<!-- 容器初始化(销毁)时开启(关闭)Log4j -->
<listener-class>org.springframework.web.util.Log4jConfigListener</listener-class>
</listener>

然后在java代码中使用:

@Controller
@RequestMapping("/general")
public class GeneralController extends BaseController {
private Logger log = LoggerFactory.getLogger(GeneralController.class);
@Autowired
private UserService userService;

@RequestMapping(value = "hello")
public String hello(@RequestParam(value = "name") String name, Model model) {
log.info("请求来了");
User user = userService.getUserByName(name);

model.addAttribute("hello", "HH");
if (null == user) {
model.addAttribute("userName", "user is null");
} else {

model.addAttribute("userName", user.getName());
}

return "/general/hello";

}

}

在url地址栏中请求,即可看到控制台上的日志输出,这里的输出比较全面,会输出sql,controller请求等等具体信息。


[/size]
[ 2021年,将Spring全家桶的课程进行Review,确保不再有顺序错乱等问题导致学员看不懂内容,进入2022年,将Spring的课程进行整理,整理为案例精讲的系列课程,并开始逐步增加高阶的Spring Security等内容,课件将逐步进行上传,敬请期待! ]本课程是Spring全家桶案例精讲课程的第二部分Spring MVCSpring案例精讲课程以真实场景、项目实战为导向,循序渐进,深入浅出的讲解Java网络编程,助力您在技术工作中更进一步。 本课程聚焦Java Spring的Web知识点,主要是关于Spring MVC的应用,包含:表单的增删改查、国际化、过滤器、拦截器、日志Log4j2及slf4j的使用、主题更改网站皮肤及样式、文件上传等的案例讲解,并且最后以一个SSM(Spring+Spring MVC+Mybatis)贯穿前后台的案例作为Spring MVC课程的终奖, 从而使大家快速掌握Spring的基础核心知识,快速上手,为面试、工作等做好充足准备。 由于本课程聚焦于案例,即直接上手操作,对于Spring的原理等不会做过多介绍,希望了解原理等内容的需要通过其他视频或者书籍去了解,建议按照该案例课程一步步做下来,之后再去进一步回顾原理,这样能够促进大家对原理有更好的理解。 【通过Spring全家桶,我们保证你能收获到以下几点】 1、掌握Spring全家桶主要部分的开发、实现2、可以使用Spring MVCSpring Boot、Spring Cloud及Spring Data进行大部分的Spring开发3、初步了解使用微服务、了解使用Spring进行微服务的设计实现4、奠定扎实的Spring技术,具备了一定的独立开发的能力  【实力讲师】 毕业于清华大学软件学院软件工程专业,曾在Accenture、IBM等知名外企任管理及架构职位,近15年的JavaEE经验,近8年的Spring经验,一直致力于架构、设计、开发及管理工作,在电商、零售、制造业等有丰富的项目实施经验 【本课程适用人群】如果你是一定不要错过!  适合于有JavaEE基础的,如:JSP、JSTL、Java基础等的学习者没有基础的学习者跟着课程可以学习,但是需要补充相关基础知识后,才能很好的参与到相关的工作中。 【Spring全家桶课程共包含如下几门】 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值