日志框架

日志门面与日志框架

slf4j是典型的“日志门面(Logging Facade)”,利用了设计模式中的门面模式思想,对外提供一套通用的日志记录的API,而不提供具体的日志输出服务,要实现日志输出,需要集成其他的日志框架,例如log4j2,logback,log4j,jul等。

这种门面模式的好处在于,记录日志的API和日志输出的服务分离开,代码里面只需要关注记录日志的API,通过slf4j指定的接口记录日志;而日志输出通过引入jar包的方式即可指定其他的日志框架。当我们需要改变系统的日志输出服务时,不用修改代码,只需要改变引入日志输出框架jar包。

日志框架_第1张图片

slf4j集成原理.png-19.5kB

  • 目前提供日志门面的框架包括:slf4j, common-logging
  • 完整的日志框架包括:log4j2, logback, log4j, java.util.logging
    (完整日志框架是指框架本身包括记录日志的API和日志输出的服务)

需要指出一点,门面模式提供了一种日志API和输出分离的模式,但是除slf4j和common logging之外的其他完整的日志框架,本身就具备同时提供日志API和输出的服务,当然也是可以直接采用这些框架本身记录日志的。

其中Logger可以被分配级别,常用的级别包括:TRACE

附一个SpringBoot项目开发中常用的logback.xml配置



	
	
	

	

	
		
			${CONSOLE_LOG_PATTERN}
			utf8
		
		
		
			debug
		
	

	
		logs/Logback.log
		
			${CONSOLE_LOG_PATTERN}
			utf8
		
		
		
			debug
		
		
			logs/%d{yyyy-MM-dd}/Logback.%d{yyyy-MM-dd}.log
			30
		
	
	
	
	
		
		
	

 

你可能感兴趣的:(#,日志)