日志框架
日志框架的能力
- 定制输出目标(输出到哪里)
- 定制输出格式(输出的信息的呈现格式)
- 携带上下文信息(包括时间戳,类路径,线程等)
- 运行时选择性输出
- 灵活配置(不需要写代码实现)
- 优异的性能
常见的日志框架
SpringBoot
采用的是以下的日志框架结合
日志门面 | 日志实现 |
---|---|
SLF4j | LogBack |
日志输出等级(以SLF4J为例)
package org.slf4j.event;
//默认输出等级为INFO,即可输出INFO,WARN及ERROR等级的信息
public enum Level {
ERROR(40, "ERROR"),
WARN(30, "WARN"),
INFO(20, "INFO"),
DEBUG(10, "DEBUG"),
TRACE(0, "TRACE");
...
}
日志使用
通过工厂方法生成Logger对象
@RunWith(SpringRunner.class)
@SpringBootTest
public class LoggerTest {
//通过LoggerFactory.getLogger()工厂方法生成
Logger logger=LoggerFactory.getLogger("LoggerTest");
@Test
public void test1(){
logger.debug("hello,debug");
logger.info("hello,info");
}
}
使用Lombok中的@slf4j注解
@RunWith(SpringRunner.class)
@SpringBootTest
@Slf4j
public class LoggerTest {
@Test
public void test1(){
String name="panda";
String password="12345";
log.info("name={},password={}",name,password);
log.debug("debug...");
log.info("info...");
log.error("error...");
}
}
Logback中配置
在application.yml文件中配置
logging:
pattern:
console: "%d - %msg%n"
file: /home/panda/Documents/sell.log
level: debug
logging.pattern.console
—配置输出格式
logging.file
—配置输出日志文件的路径及名称
logging.level
—配置输出日志等级
在logback-spring.xml文件中进行配置(更细化的配置,自行百度)