springboot日志配置:
springboot默认日志是打印再console中的,不会保存在文件中。我们项目上线肯定要保存日志用于分析的。
一、使用xml配置日志保存(并不需要pom配置slf4j依赖,starter里面已经配置了依赖了)
1、在项目的resources目录下创建一个【logback-spring.xml】日志配置文件
名称只要是一 logback开头就行,测试使用log.xml并不会生成日志。合法名称:logback.xml
、logback-spring.xml
备注:要配置logback-spring.xml
,springboot会默认加载此文件,为什么不配置logback.xml
,因为logback.xml
会先application.properties
加载,而logback-spring.xml
会后于application.properties
加载,这样我们在application.properties
文中设置日志文件名称和文件路径才能生效
2、编写xml文件内容:
<?xml version="1.0" encoding="UTF-8"?>
<configuration scan="true" scanPeriod="60 seconds" debug="false">
<contextName>logback</contextName>
<!--输出到控制台-->
<appender name="console" class="ch.qos.logback.core.ConsoleAppender">
<encoder>
<!--<pattern>%d{HH:mm:ss} [%thread] %-5level %logger{36} - %msg%n</pattern>-->
<pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger - %msg%n</pattern>
<!-- <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} -%5p ${PID:-} [%15.15t] %-30.30C{1.} : %m%n</pattern>-->
</encoder>
</appender>
<!--按天生成日志-->
<appender name="logFile" class="ch.qos.logback.core.rolling.RollingFileAppender">
<Prudent>true</Prudent>
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<FileNamePattern>
poslog/%d{yyyy-MM-dd}/%d{yyyy-MM-dd}.log
</FileNamePattern>
<maxHistory>7</maxHistory>