Spring Boot之日志框架(slf4j)
Spring Boot选用的是slf4j(日志的抽象层)和logback(日志的实现)。
- 如何在系统中使用slf4j?
import org.slf4j.Logger; import org.slf4j.LoggerFactory; public class HelloWorld { public static void main(String[] args) { Logger logger = LoggerFactory.getLogger(HelloWorld.class); logger.info("Hello World"); } }
如图示: 每一个日志的实现框架都有自己的配置文件,使用slf4j以后,配置文件仍是做成日志实现框架自己本身的配置文件。 2. 将系统中的所有日志统一到slf4j: (1)排除系统中会其他的日志框架; (2)用中间包替换原有的日志框架; (3)导入slf4j的其他实现。 如图: 3. 日志级别:
//日志记录器 Logger logger = LoggerFactory.getLogger(getClass()); @Test public void contextLoads() { //日志级别由低到高:trace<debug<info<warn<error logger.trace("---------------trace:"); //跟踪轨迹 logger.debug("---------------debug:"); logger.info("---------------info:"); logger.warn("---------------warn:"); logger.error("---------------error:"); }
Spring Boot默认是info级别的。 日志配置示例: application.properties:
#调整包com.sdn的日志级别为trace logging.level.com.sdn = trace #不指定路径默认在当前项目下生成springboot.log日志文件 #logging.file=springboot.log #在当前磁盘的根路径下创建spring文件夹和里面的log文件夹,使用spring.log作为默认文件 logging.path=/spring/log #控制台输出日志的格式 logging.pattern.console=%d{yyyy-MM-dd HH:mm:ss.SSS} {%thread} %-5level %logger{50} - %msg%n #指定文件中日志的输出格式 logging.pattern.file=%d{yyyy-MM-dd HH:mm:ss.SSS} == {%thread} == %-5level == %logger{50} - %msg%n
日志输出格式参数说明: %d:日期时间, %thread:线程名, %-5level:级别从左显示5个字符宽度 %logger{50}:logger名字最长50个字符,否则按照句点分割。 %msg:日志消息, %n:换行符
上一篇:
IDEA上Java项目控制台中文乱码