log4j和slf4j的区别简介说明

书欣 Java经验 发布时间:2022-08-06 19:26:26 阅读数:14342 1
下文笔者讲述log4j和slf4j的区别说明,如下所示:

log4j和slf4j区别

log4j(log for java)(4 同 for)
log4j是Apache的一个开源项目
   用于记录日志信息
   我们可以通过Log4j的配置文件灵活配置日志的
      记录格式、记录级别、输出格式,而不需要修改已有的日志记录代码
---------------------------------------------------------------------------------
slf4j:(simple log facade for java)通常我们称之为“日志门面”
slf4j不是日志解决方案,他自身不具有日志的功能
      它需借助其它的日志框架,然后实现日志的功能

slf4j的优点

一、使日志和项目解耦
    例:以前项目中使用log4j作为日志库,
	   但今天我看见了一个更牛的日志框架logback
	   我们只需进行简单的配置,即可使日志框架使用logback,
	   这就是slf4j的优点 
	    
二、两者对内存的节约程度不同
     log4j传统的日志系统中并没有占位符的概念
      打印日志时,都使用String对象输出
	  而slf4j则采用占位符的方式,这种方式更节约内存 
    private void log4jTest(){
        String errormsg = "这是一个错误信息...";
        logger.info("错误信息为:"+errormsg);
    } 
    private void slf4jTest(){
    logger.info("错误信息为:{}","这是一个错误信息...");
    }

项目中使用slf4j的方法

 pom文件中引入相应的jar包

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

    或引入

    <!-- 引入log4j日志依赖 -->
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-log4j</artifactId>
        <version>1.3.8.RELEASE</version>
    </dependency>

2.类中使用LogFactory创建类的log对象
   
   public class logTest{
		private static final Logger logger = LoggerFactory.getLogger(Test.class);

		private void slf4jTest(){
		  logger.info("信息{}","slf4j使用")
		}
   }
注意事项:
   1.使用static、final关键字来对日志对象进行修饰。
   2.使用private修饰防止其它类使用当前类的日志对象
   3.static用于保证类中只存在一份信息,日志对象属于类,不属于具体的实例
   4.final修饰用于避免对象运行时被修饰
版权声明

本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。

本文链接: https://www.Java265.com/JavaJingYan/202208/16597852124159.html

最近发表

热门文章

好文推荐

Java265.com

https://www.java265.com

站长统计|粤ICP备14097017号-3

Powered By Java265.com信息维护小组

使用手机扫描二维码

关注我们看更多资讯

java爱好者