slf4j相关知识的总结

定义

slf4j:simple log facade for java。针对于java的简单日志门面(抽象),服务于各种日志框架(log4j,logback,log4j2等)。可以随意切换框架,而不会影响平台的日志。
jcl:java common logging。是apache提供的日志门面。

实用

1.建立logdemo项目

mvn archetype:generate -DgroupId=log.test.demo -DartifactId=logdemo

2.打开pom文件,增加slf4j的jar包。

	<dependency>
	    <groupId>org.slf4j</groupId>
	    <artifactId>slf4j-api</artifactId>
	    <version>1.7.26</version>
	</dependency>

在这里插入图片描述
3.编写代码,打印日志。

package log.test.demo;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

/**
 * Hello world!
 *
 */
public class App 
{
	private static Logger logger = LoggerFactory.getLogger(App.class);
    public static void main( String[] args )
    {
        System.out.println( "Hello World!" );
        logger.info("Hello World!");
    }
}

在这里插入图片描述
:该提示为没有具体的绑定日志框架。
4.绑定具体的日志框架 slf4j-simple,简单实现日志打印功能。

# 增加slf4j-simple的包
<!-- https://mvnrepository.com/artifact/org.slf4j/slf4j-simple -->
	<dependency>
	    <groupId>org.slf4j</groupId>
	    <artifactId>slf4j-simple</artifactId>
	    <version>1.7.26</version>
	</dependency>

在这里插入图片描述
打印成功。
5.将日志框架改为log4j。只需要将slf4j对应的jar包替换掉即可。

  • 增加依赖jar包
<!-- https://mvnrepository.com/artifact/org.slf4j/slf4j-log4j12 -->
<dependency>
    <groupId>org.slf4j</groupId>
    <artifactId>slf4j-log4j12</artifactId>
    <version>1.7.26</version>
    <scope>test</scope>
</dependency>

  • 增加log4j.properties文件
#log4j相关知识:
#  log4j重要的构成组件:
#    1)日志的优先级 debug,info,warn,error,fatal。
#    2)日志信息的输出目的地。
#    3)日志输出信息的格式。
#基本种类,[level],appenderName,appenderName,...
#level对应日志的优先级
#appenderName,表示追加的目的地。可以同时输出多个目的地。
log4j.rootCategory=DEBUG,C,F
 #控制台
log4j.appender.C=org.apache.log4j.ConsoleAppender
log4j.appender.C.layout=org.apache.log4j.PatternLayout
log4j.appender.C.layout.ConversionPattern=[%d{yyyy-MM-dd HH:mm:ss}] %p [%t] %C.%M(%L) | %m%n
 #日志文件,每天创建一个新的日志。
log4j.appender.F=org.apache.log4j.DailyRollingFileAppender
log4j.appender.F.File=D:\\bwbdworkspace-git/logs/logtest.log
log4j.appender.F.layout=org.apache.log4j.PatternLayout
log4j.appender.F.layout.ConversionPattern=[%d{yyyy-MM-dd HH:mm:ss}] %p [%t] %C.%M(%L) | %m%n
输出样式:
%p  :输出日志信息的优先级,即debug、info、warn、error、fatal

%d  :输出日志时间点(日期/时间),默认格式为ISO8601,也可以在其后指定格式如:%d{yyyy/MM/dd HH:mm:ss,SSS}。

%r  :输出自应用程序启动到输出该log信息耗费的毫秒数。

%t  :输出产生该日志事件的线程名。

%l  :输出日志事件发生的位置,相当于%c.%M(%F:%L)的组合,包括类全名、方法、文件名以及在代码中的行数。例如:test.TestLog4j.main(TestLog4j.java:10)。

%c  :输出日志信息所属的类目,通常就是所在类的全名。
%M   :输出产生日志信息的方法名。
%F  :输出日志消息产生时所在的文件名称。
%L  :输出代码中的行号。
%m  :输出代码中指定的信息,如log(message)中的message。

%n  :输出一个回车换行符,Windows平台为"rn",Unix平台为"n"。
%x  :输出和当前线程相关联的NDC(嵌套诊断环境),尤其用到像java servlets这样的多客户多线程的应用中。
%%  :输出一个"%"字符。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值