要点:
1. slf4j 、commons-logging这两个组件设计了日志系统的通用接口,是日志门面
2.门面功能:日志框架的绑定,日志框架的桥接(即门面是规范,其底层可更换)
slf4j + log4j 实现程序的日志记录
1.引入jar包。
要使用这个组合,需要引入的jar包有:slf4j-api-x.x.x.jar,log4j-x.x.x.jar,slf4j-log4j12-x.x.x.jar。slf4j-log4j12是slf4j与log4j之间的桥接包,这个包的存在是和slf4j设计方式、log4j实现思想密切相关的。
<dependencies>
<!-- 单元测试依赖-->
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.12</version>
</dependency>
<!--slf4j core 使用slf4j必須添加-->
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
<version>1.7.27</version>
</dependency>
<!--slf4j 自带的简单日志实现 -->
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-simple</artifactId>
<version>1.7.27</version>
</dependency>
</dependencies>
2.配置
# 指定 RootLogger 顶级父元素默认配置信息
# 指定日志级别=trace,使用的 appenderw 为=console
log4j.rootLogger=trace,console
# 指定控制台日志输出的 appender
log4j.appender.console=org.apache.log4j.ConsoleAppender
# 指定消息格式 layout
log4j.appender.console.layout=org.apache.log4j.PatternLayout
# 指定消息格式的内容
log4j.appender.console.layout.conversionPattern=[%-10p]%r %l %d{yyyy-MM-dd HH:mm:ss.SSS} %m%n
3.使用
a.可使用注解@Slf4j或
b.使用private static final Logger logger =LoggerFactory.getLogger(this.XXX.class);
public static void main( String[] args )
{
Logger logger = LoggerFactory.getLogger(App.class);
logger.info("slf4j项目使用了日志系统,这里是项目info日志信息");
logger.warn("警告日志信息");
logger.error("错误日志信息输出 {} ",new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date()));
}
以下是各种等级
LOGGER.error("error");
LOGGER.warn("wring");
LOGGER.info("info"); // 默认级别
LOGGER.debug("debug");
LOGGER.trace("trace");
可设置日志输出位置(可控制台,可保存)
可设置日志输出级别,若输出级别是 WARN 级别,因此,logger.info()这个函数不会输出任何信息