@nextleaf
2018-08-01T01:56:25.000000Z
字数 2499
阅读 7399
SpringBoot slf4j 日志 配置
<?xml version="1.0" encoding="UTF-8"?><configuration><!-- 格式化输出:%date表示日期,%thread表示线程名,%-5level:级别从左显示5个字符宽度 %msg:日志消息,%n是换行符--><property name="LOG_PATTERN"value="%date{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n" /><!-- 定义日志存储的路径,不要配置相对路径 --><property name="FILE_PATH"value="D:/logs/demo3/demo.%d{yyyy-MM-dd}.%i.log" /><!-- 控制台输出日志 --><appender name="console" class="ch.qos.logback.core.ConsoleAppender"><encoder><!-- 按照上面配置的LOG_PATTERN来打印日志 --><pattern>${LOG_PATTERN}</pattern></encoder></appender><!--每天生成一个日志文件,保存15天的日志文件。rollingFile是用来切分文件的 --><appender name="rollingFile"class="ch.qos.logback.core.rolling.RollingFileAppender"><rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"><fileNamePattern>${FILE_PATH}</fileNamePattern><!-- keep 15 days' worth of history --><maxHistory>15</maxHistory><timeBasedFileNamingAndTriggeringPolicyclass="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP"><!-- 日志文件的最大大小 --><maxFileSize>10MB</maxFileSize></timeBasedFileNamingAndTriggeringPolicy></rollingPolicy><encoder><pattern>${LOG_PATTERN}</pattern></encoder></appender><!-- project default level --><logger name="com.itcodai.demo3" level="INFO" /><!-- 日志输出级别 --><root level="INFO"><appender-ref ref="console" /><appender-ref ref="rollingFile" /></root></configuration>
如上,已经详细做了注释,logback.xml文件中主要是用来配置日志文件的输出格式,输出路径,保存时间,日志文件大小,以及日志的输出级别。默认的是INFO级别,我们也可以设置DEBUG,ERROR级别,看具体需要。一般项目部署到生产环境后,换成ERROR级别,在开发的时候一般设置成INFO级别即可。把这个logback.xml放到根目录下。
2. application.yml配置文件
server:port: 8009logging:config: logback.xmllevel:com:nextleaf:course01:dao: trace
或application.properties
logging.config=logback.xmllogging.level.com.nextleaf.course01.dao=trace
配置文件很简单,主要是指定一下使用的哪个日志配置文件,如上:指定的日志配置文件是根路径下的logback.xml文件。logging.level用来指示Mapper中的日志输出级别为trace,是为了打印出具体的sql,方便定位问题,部署到生产环境时,也将这个级别改成error即可。
import org.slf4j.Logger;import org.slf4j.LoggerFactory;import org.springframework.web.bind.annotation.RequestMapping;import org.springframework.web.bind.annotation.RestController;@RestControllerpublic class TestController {private final static Logger logger = LoggerFactory.getLogger(TestController.class);@RequestMapping("/testLog")public String testLog() {logger.debug("=====测试日志debug级别打印====\n");logger.info("======测试日志info级别打印=====\n");logger.error("=====测试日志error级别打印====\n");// 可以使用占位符打印出一些参数信息String str = "blog.itcodai.com";logger.info("======欢迎访问倪升武的博客:{}\n", str);return null;}}
SpringBoot中的slf4j日志配置就大概介绍这么多,已经足够用了,在项目中使用的很频繁
