Logback
是 SpringBoot
默认选择的日志框架,整合 Logback
不需要做任务配置,引入 spring-boot-starter-web
则自动使用了 Logback
日志框架,但是 SpringBoot
默认的配置只输出至控制台,所以还需要进行更细粒度的控制。
Logback 配置文件
1、在类路径下配置 Logback
原始配置文件 logback.xml
,Logback
日志框架会自动读取。
2、SpringBoot
提供了一个更简便的实现方案,在类路径下配置 logback-spring.xml
,可以使用 Spring
相关的一些特性。
使用 Profile
<?xml version=*"1.0"* encoding=*"UTF-8"*?>
<configuration>
<include resource="org/springframework/boot/logging/logback/base.xml"/>
<logger name="org.springframework.web" level="INFO"/>
<springProfile name="test,dev">
<logger name="org.springframework.web" level="INFO"/>
<logger name="org.springboot.sample" level="INFO" />
<logger name="com.kfit" level="info" />
</springProfile>
<springProfile name="prod">
<logger name="org.springframework.web" level="ERROR"/>
<logger name="org.springboot.sample" level="ERROR" />
<logger name="com.kfit" level="ERROR" />
</springProfile>
</configuration>
Logback是SpringBoot的默认日志选择,不需要进行任何配置>
如果要自定义日志输出,只需要在src/main/resources下添加logback.xml即可。
针对不同profile进行不同的日志输出设置,SpringBoot也提供了一个简便的实现,在src/main/resources目录下添加logback-spring.xml文件(请注意文件名称的变化)。
###最简实现###
说明:引入SpringBoot已有的base.xml,并针对不同的profile定义不同的日志输出级别。
base.xml
<?xml version="1.0" encoding="UTF-8"?>
<included>
<includeresource="org/springframework/boot/logging/logback/defaults.xml" />
<propertyname="LOG_FILE"value="${LOG_FILE:-${LOG_PATH:-${LOG_TEMP:-${java.io.tmpdir:-/tmp}}/}spring.log}"/>
<includeresource="org/springframework/boot/logging/logback/console-appender.xml" />
<includeresource="org/springframework/boot/logging/logback/file-appender.xml" />
<rootlevel="INFO">
<appender-refref="CONSOLE" />
<appender-refref="FILE" />
</root>
</included>
base.xml文件定义了Console和File两个appender,所以引入base.xml就自动拥有了这两个日志输出,如果输出格式不符合您的要求,则可以自已编写相应的xml。
Logback配置可以参考http://aub.iteye.com/blog/1896611