application.properties
#设置目录,会在该目录下创建spring.log文件
logging.path=/logs
#TRACE, DEBUG, INFO, WARN, ERROR, FATAL, OFF
#设置controllers包下的日志输出级别
logging.level.guru.springframework.controllers=WARN
#root日志以INFO级别输出
logging.level.root=INFO
#多彩输出
spring.output.ansi.enabled=detect
#指定配置文件
logging.config=classpath:logback.xml
logback.xml
<?xml version="1.0" encoding="UTF-8"?>
<configuration scan="true" scanPeriod="60 seconds" debug="false">
<contextName>logback</contextName>
<property name="log.path" value="D:/xxx51990/log" />
<!--输出到控制台-->
<appender name="console" class="ch.qos.logback.core.ConsoleAppender">
<filter class="ch.qos.logback.classic.filter.ThresholdFilter">
<level>WARN</level>
</filter>
<encoder>
<pattern>%d{HH:mm:ss.SSS} %contextName [%thread] %-5level %logger{36} - %msg%n</pattern>
</encoder>
</appender>
<!--输出到文件-->
<appender name="file" class="ch.qos.logback.core.rolling.RollingFileAppender">
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<!--要放在当前项目下去掉${log.path}/-->
<fileNamePattern>${log.path}/logback.%d{yyyy-MM-dd}.log</fileNamePattern>
<maxHistory>30</maxHistory>
<totalSizeCap>1GB</totalSizeCap>
</rollingPolicy>
<encoder>
<pattern>%d{HH:mm:ss.SSS} %contextName [%thread] %-5level %logger{36} - %msg%n</pattern>
</encoder>
</appender>
<root level="info">
<appender-ref ref="console" />
<appender-ref ref="file" />
</root>
<!-- logback为java中的包 -->
<!--用来设置某一个包或者具体的某一个类的日志打印级别、以及指定<appender>。-->
<logger name="guru.springframework.controllers"/>
<!--logback.LogbackDemo:类的全路径 -->
<logger name="guru.springframework.controllers.ProductController" level="WARN" additivity="false">
<appender-ref ref="console"/>
<appender-ref ref="file" />
</logger>
</configuration>
日志输出
import org.slf4j.LoggerFactory;
import org.slf4j.Logger;
private Logger logger = LoggerFactory.getLogger(this.getClass());
logger.trace("日志输出 trace");
logger.debug("日志输出 debug");
logger.info("日志输出 info");
logger.warn("日志输出 warn");
logger.error("日志输出 error");
走过的坑
- 要使用xml配置时,要且只要在application.properties里面指定配置文件即可
<property name="log.path" value="D:/xxx51990/log" />
要注意路径的斜杠方向- 使用相对路径将日志文件输出到当前项目下未成功
- 4.