SLF4J+LogBack实现不同级别的日志输出到不同文件

前言

在项目开发中往往需要将不同的级别,不同包,不同接口的日志输出到不同的文件中,在利用SLF4J+LogBack实现此功能在配置文件中根据不同的级别,包,接口配置不同的appender日志记录器。

1.LogBack配置文件




	
	
	
	
	

	
	
		
		log/log_error.log
		
		
			log/error/log-error-%d{yyyy-MM-dd}.%i.log
			
			6MB
			30
		
		
		true
		
		
			${ERROR_PATTERN}
			${CHARSET}
		
		
		
			error
			ACCEPT
			DENY
		
	

	
	
		
		log/log_info.log
		
		
			log/info/log-info-%d{yyyy-MM-dd}.%i.log
			
			6MB
			30
		
		
		true
		
		
			${ERROR_PATTERN}
			${CHARSET}
		
		
		
			info
			ACCEPT
			DENY
		
	

	
		
		
	

对LogBack各个节点的详细介绍可以看Albin的文章>>logback节点配置详解

2.日志测试类

public class LogService {

	private Logger logger = LoggerFactory.getLogger(this.getClass());
	
	public void logMethod() {
		try {
			logger.info("Method start");
			throw new Exception("Method get out a error");
		}catch(Exception e) {
			logger.error(e.getMessage());
		}
	}
}

Junit测试类

@RunWith(SpringRunner.class)
@SpringBootTest
public class LogServiceTest {

	@Test
	public void logtest() {
		LogService test = new LogService();
		test.logMethod();
	}
}

3.日志输出结果

log_info.log

2019-08-01 16:22:54.580 INFO  com.example.demo.logservice.LogService Line:12 -Method start

log_error.log

2019-08-01 16:22:54.581 ERROR com.example.demo.logservice.LogService Line:15 -Method get out a error

 

你可能感兴趣的:(logback)