下面我将详细讲解如何配置log4j输出SpringBoot日志的案例攻略。
1. 引入log4j依赖
在pom.xml文件中,我们需要引入log4j的依赖,如下:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-log4j</artifactId>
</dependency>
这一步很重要,因为我们需要使用log4j来输出日志信息。
2. 创建log4j.properties文件
我们需要在resources目录下创建一个log4j.properties文件,并进行如下配置:
### 设置日志级别 ###
log4j.rootLogger=INFO, console, file
### 设置控制台输出,输出日志级别、时间、日志信息 ###
log4j.appender.console=org.apache.log4j.ConsoleAppender
log4j.appender.console.Target=System.out
log4j.appender.console.layout=org.apache.log4j.PatternLayout
log4j.appender.console.layout.ConversionPattern=%d [%t] %-5p %c - %m%n
### 设置文件输出,输出日志级别、时间、日志信息到指定文件 ###
log4j.appender.file=org.apache.log4j.FileAppender
log4j.appender.file.File=log/test.log
log4j.appender.file.append=true
log4j.appender.file.layout=org.apache.log4j.PatternLayout
log4j.appender.file.layout.ConversionPattern=%d [%t] %-5p %c - %m%n
这个配置文件指定了控制台和文件输出日志信息,并指定了日志级别、日志输出格式等。
3. 测试log4j输出日志
最后一步就是测试log4j输出日志是否正常了。我们可以在代码中使用如下方式输出日志:
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@Controller
public class MyController {
private static final Logger LOGGER = LoggerFactory.getLogger(MyController.class);
@RequestMapping("/logtest")
@ResponseBody
public String logTest() {
LOGGER.info("log test info level");
LOGGER.error("log test error level");
return "logtest";
}
}
在MyController类中,我们引入了Logger工厂,并定义了一个名为“LOGGER”的静态常量。在方法中,我们使用LOGGER输出了两个不同级别的日志信息。
执行完毕后,log.test.log文件中应该已经有了输出的日志信息。
至此,我们已经成功地配置并使用了log4j输出SpringBoot的日志信息。
示例说明
接下来,我将分别演示log4j输出INFO和ERROR级别的日志信息。
示例一:输出INFO级别日志
- 修改log4j.properties文件,将log4j.rootLogger的值修改为:log4j.rootLogger=INFO, console, file
- 重启应用
- 访问http://localhost:8080/logtest
- 查看log/test.log文件,应该会输出INFO级别的日志信息,“log test info level”
示例二:输出ERROR级别日志
- 修改log4j.properties文件,将log4j.rootLogger的值修改为:log4j.rootLogger=ERROR, console, file
- 重启应用
- 访问http://localhost:8080/logtest
- 查看log/test.log文件,应该会输出ERROR级别的日志信息,“log test error level”
以上两个示例说明了如何在log4j中指定日志级别,不同级别的日志输出到控制台和文件中。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:SpringBoot配置log4j输出日志的案例讲解 - Python技术站