Spring中配置使用slf4j + log4j

Posted znnby1997

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Spring中配置使用slf4j + log4j相关的知识,希望对你有一定的参考价值。

本人也是查看别人博客获得的方法,详细讲解请参照

https://www.cnblogs.com/yuxiaole/p/9297266.html

下面进入正题:

1.在pom.xml中注入相关的依赖

<!-- slf4j + log4j 日志 -->
    <dependency>
      <groupId>org.slf4j</groupId>
      <artifactId>slf4j-log4j12</artifactId>
      <version>1.7.25</version>
    </dependency>
    <dependency>
      <groupId>org.slf4j</groupId>
      <artifactId>slf4j-api</artifactId>
      <version>1.7.25</version>
    </dependency>

注意不要忘了引slf4j的API

2.加入log4j的配置文件

在src/main/resources目录下新建log4j.properties配置文件

文件内容:

# 配置根Logger
log4j.rootLogger=info, ServerDailyRollingFile, stdout
# 有关日志输出位置的配置命名
# ServerDailyRollingFile代表每天产生一个日志文件
log4j.appender.ServerDailyRollingFile=org.apache.log4j.DailyRollingFileAppender
# 设置时间格式
log4j.appender.ServerDailyRollingFile.DatePattern=‘.‘yyyy-MM-dd
# 日志文件生成路径
log4j.appender.ServerDailyRollingFile.File=logs/notify-subscription.log
# 日志格式
# PatternLayout可以灵活指定布局模式
log4j.appender.ServerDailyRollingFile.layout=org.apache.log4j.PatternLayout
log4j.appender.ServerDailyRollingFile.layout.ConversionPattern=%d - %m%n
# 将消息增加到指定文件中,false指消息将覆盖指定文件的内容
log4j.appender.ServerDailyRollingFile.Append=true

# 配置输出到控制台
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %p [%c] %m%n

3.使用日志工厂实例化一个日志对象,通过调用日至对象的相关方法打印日志

private static final Logger log = LoggerFactory.getLogger(StudentController.class);
// 处理JSP视图查询处理
    @RequestMapping(value = "/read", method = RequestMethod.GET)
    public String readStudentByView(
            @RequestParam("studentId") String studentId,
            Model model) {
     // 将要查询的学生id写入日志 log.info(
"reading handler: studentId =" + studentId); model.addAttribute(studentService.readById(studentId)); return "student"; }

启动服务后,向服务器发送GET请求后控制台结果:

技术分享图片





















以上是关于Spring中配置使用slf4j + log4j的主要内容,如果未能解决你的问题,请参考以下文章

如何配置 Spring 和 SLF4J 以便获得日志记录?

Spring Boot中的logback + slf4j

slf4j+log4j配置

SLF4J: Class path contains multiple SLF4J bindings.

log4j和slf4j的使用

spring集成 log4j + slf4j