下面是使用Spring Boot集成Logback将日志输出到控制台或文件的完整攻略。
步骤1: 添加Logback和Spring Boot的依赖
首先需要在pom.xml
文件中添加Logback和Spring Boot的依赖:
<!-- Logback for logging -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-log4j2</artifactId>
</dependency>
步骤2:创建Logback配置文件
接下来需要创建Logback的配置文件logback-spring.xml
,该文件必须放置在为Spring Boot应用程序提供classpath
服务的位置。src/main/resources
目录是该应用程序中的默认位置。
下面是一个简单的logback-spring.xml
配置文件:
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<!-- 控制台输出 -->
<appender name="stdout" class="ch.qos.logback.core.ConsoleAppender">
<!-- 输出编码 -->
<encoder charset="UTF-8">
<pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n</pattern>
</encoder>
</appender>
<!-- 输出日志级别 -->
<root level="INFO">
<appender-ref ref="stdout"/>
</root>
</configuration>
步骤3:在应用程序中使用日志
现在配置好了Logback,可以在应用程序中使用日志了。可以使用Spring Boot自动配置的Java Util Logging (JUL)实现或者Logback实现。
下面的示例是一个使用Logback的Spring Boot应用程序:
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplication
public class Application {
private final static Logger logger = LoggerFactory.getLogger(Application.class);
public static void main(String[] args) {
SpringApplication.run(Application.class, args);
logger.info("Spring Boot is up and running!");
}
}
示例A:将日志输出到控制台
按照以上配置好之后,运行上述示例应用程序,可以看到日志已经被输出到控制台,示例如下:
2017-10-12 15:24:53.804 [main] INFO com.example.Application - Spring Boot is up and running!
示例B:将日志输出到文件
接下来,我们将Logback配置为将日志输出到文件中,需要新增一个appender
节点定义一个输出文件:
<!-- 输出文件 -->
<appender name="file" class="ch.qos.logback.core.rolling.RollingFileAppender">
<file>/Users/xxx/logs/xxx.log</file>
<encoder>
<pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n</pattern>
</encoder>
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<fileNamePattern>/Users/xxx/logs/xxx.%d{yyyy-MM-dd}.log</fileNamePattern>
<maxHistory>30</maxHistory>
</rollingPolicy>
</appender>
然后将root
节点中配置从控制台输出应用程序日志的appender_ref
改为新添加的文件输出appender_ref
即可。
<root level="INFO">
<appender-ref ref="stdout"/>
<!-- 文件输出 -->
<appender-ref ref="file"/>
</root>
完成以上配置,重新启动程序,可以看到日志已经被输出到文件中,打开/Users/xxx/logs/xxx.log
文件,示例如下:
2017-10-12 15:24:53.804 [main] INFO com.example.Application - Spring Boot is up and running!
以上就是使用Spring Boot集成Logback将日志输出到控制台或文件的完整攻略。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:springboot使用Logback把日志输出到控制台或输出到文件 - Python技术站