SpringBoot配置slf4j logback-spring.xml日志
1. 新增加一个文件(内容见7):logback-spring.xml
2. logback-spring.xml 和 application.yml 一样都放在启动项目 resources 目录下。
3. application.yml 新增输出目录(见6)。
4. 项目引用:
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
5. 代码使用:
private Logger log = LoggerFactory.getLogger(test.class);
log.info("返回数据:responseString = " + responseString);
6. application.yml
#日志目录
logging:
#path: home/logs/test_logs/
path: C:\java\test_logs\
file: ${logging.path}project
7. logback-spring.xml
<?xml version="1.0" encoding="UTF-8"?>
<!-- 日志级别从低到高分为TRACE < DEBUG < INFO < WARN < ERROR < FATAL,如果设置为WARN,则低于WARN的信息都不会输出 -->
<!-- scan:当此属性设置为true时,配置文档如果发生改变,将会被重新加载,默认值为true -->
<!-- scanPeriod:设置监测配置文档是否有修改的时间间隔,如果没有给出时间单位,默认单位是毫秒。
当scan为true时,此属性生效。默认的时间间隔为1分钟。 -->
<!-- debug:当此属性设置为true时,将打印出logback内部日志信息,实时查看logback运行状态。默认值为false。 -->
<configuration debug="true">
<!-- name的值是变量的名称,value的值时变量定义的值。通过定义的值会被插入到logger上下文中。定义后,可以使“${}”来使用变量。 -->
<!--<property name="LOG_FILE" value="${LOG_FILE:-${LOG_PATH:-${LOG_TEMP:-${java.io.tmpdir:-/tmp}}/}spring.log}"/>-->
<property name="LOG_FILE" value="${LOG_FILE}"/>
<!--1. 输出到控制台-->
<appender name="stdout" class="ch.qos.logback.core.ConsoleAppender">
<encoder>
<pattern>%d{HH:mm:ss.SSS} %-5level %logger{36} [%line] - %msg%n</pattern>
</encoder>
</appender>
<!--2. 输出到文档-->
<!-- 2.1 level为 DEBUG 日志,时间滚动输出 -->
<appender name="R" class="ch.qos.logback.core.rolling.RollingFileAppender">
<!-- 正在记录的日志文档的路径及文档名 -->
<!--<File>${LOG_FILE}</File>-->
<!--日志文档输出格式-->
<encoder>
<pattern>%d{HH:mm:ss.SSS} %-5level %logger{36} [%line] - %msg%n</pattern>
</encoder>
<!-- 日志记录器的滚动策略,按日期,按大小记录 -->
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<fileNamePattern>${LOG_FILE}.%d{yyyy-MM-dd}.log
</fileNamePattern>
<maxHistory>15</maxHistory>
</rollingPolicy>
</appender>
<logger name="noModule" level="info"/>
<logger name="org.codehaus" level="info"/>
<logger name="org.apache" level="info"/>
<logger name="org.springframework" level="info"/>
<logger name="druid.sql" level="info"/>
<logger name="com.alibaba" level="debug">
<appender-ref ref="stdout"/>
</logger>
<logger name="com.springboot" level="debug"/>
<root level="info">
<appender-ref ref="stdout"/>
<appender-ref ref="R"/>
</root>
</configuration>