当前位置: 首页 > news >正文

厦门做网站公司有哪些2022最新引流推广平台

厦门做网站公司有哪些,2022最新引流推广平台,手机网站建设服务合同,网站域名已经被绑定点击下载《SpringBoot日志插件log4J和slf4J的使用和比较含完整示例》 1. 前言 本文主要介绍了在 Spring Boot 框架中如何使用 Log4j 和 Slf4j,并通过对比分析它们的优缺点,帮助读者更好地选择合适的日志记录工具。文章中提供了完整的示例代码&#xff…

点击下载《SpringBoot日志插件log4J和slf4J的使用和比较含完整示例》

1. 前言

本文主要介绍了在 Spring Boot 框架中如何使用 Log4j 和 Slf4j,并通过对比分析它们的优缺点,帮助读者更好地选择合适的日志记录工具。文章中提供了完整的示例代码,并附有详细的注释说明。

2. Log4j的使用

Log4j 是一个流行的 Java 日志记录框架,为 Spring Boot 提供了强大的日志管理功能。下面是如何在 Spring Boot 项目中集成 Log4j 的基本步骤:

2.1 添加依赖

pom.xml 文件中添加 Log4j 相关依赖:

<dependency>  <groupId>org.springframework.boot</groupId>  <artifactId>spring-boot-starter-log4j2</artifactId>  
</dependency>

2.2 配置 Log4j

src/main/resources 目录下创建一个名为 log4j2.xml 的配置文件,配置 Log4j 的日志级别、输出格式和输出目的地等。例如:

<?xml version="1.0" encoding="UTF-8"?>  
<Configuration status="WARN">  <Appenders>  <Console name="Console" target="SYSTEM_OUT">  <PatternLayout pattern="%d{HH:mm:ss.SSS} [%t] %-5level %logger{36} - %msg%n"/>  </Console>  </Appenders>  <Loggers>  <Root level="info">  <AppenderRef ref="Console"/>  </Root>  <Logger name="com.example.demo" level="debug" additivity="false">  <AppenderRef ref="Console"/>  </Logger>  <Logger name="org.springframework" level="error">  <AppenderRef ref="Console"/>  </Logger>  </Loggers>  
</Configuration>

在上述配置中,我们定义了一个Console Appender,它将日志输出到控制台。PatternLayout定义了日志输出的格式。

Loggers部分,我们定义了不同级别的日志行为:

  1. 根记录器(Root Logger)设置为INFO级别,这意味着所有INFO级别及以上的日志都会被记录。它引用了一个名为"Console"的Appender,这意味着这些日志将输出到控制台。
  2. com.example.demo记录器设置为DEBUG级别。这意味着该包下的所有DEBUG级别及以上的日志都会被记录。注意,由于根记录器的级别是INFO,因此该记录器下的INFO和WARN级别的日志将不会被记录。
  3. org.springframework记录器设置为ERROR级别。这意味着该包下的所有ERROR级别及以上的日志都会被记录。同样地,由于根记录器的级别是INFO,因此该记录器下的INFO、DEBUG和WARN级别的日志将不会被记录。

你可以根据需要调整这些配置,以满足你的日志需求。

2.3 在代码中使用Log4j

在 Java 类中通过 @Autowired 注入 Logger 实例,然后使用 Logger 记录日志。例如:

import org.apache.logging.log4j.LogManager;  
import org.apache.logging.log4j.Logger;  public class MyLog4jExample {  private static final Logger logger = LogManager.getLogger(MyLog4jExample.class);  public static void main(String[] args) {  logger.info("This is an info message.");  logger.debug("This is a debug message.");  logger.warn("This is a warning message.");  logger.error("This is an error message.");  }  
}

在这个示例中,我们首先导入了 Log4j 的 LogManagerLogger 类。然后,在 MyLog4jExample 类中,我们创建了一个静态的 Logger 实例。通过调用 LogManager.getLogger() 方法,我们获取了一个与当前类关联的 Logger 实例。

main 方法中,我们使用 Logger 的不同方法记录了不同级别的日志消息。info() 用于记录信息消息,debug() 用于记录调试消息,warn() 用于记录警告消息,error() 用于记录错误消息。

要运行这个示例,只需将代码保存为 MyLog4jExample.java 并编译运行即可。请确保已正确配置 Log4j 的相关依赖和配置文件,以便在运行时捕获和处理日志消息。

3. Slf4J的使用

Slf4j 是一个简单日志门面(Simple Logging Facade for Java),它为各种日志框架提供了统一的接口。在 Spring Boot 中使用 Slf4j 的步骤与 Log4j 类似。

3.1 添加依赖

pom.xml 文件中添加 Slf4j 相关依赖:

<dependency>  <groupId>org.springframework.boot</groupId>  <artifactId>spring-boot-starter-logging</artifactId>  
</dependency>  
<dependency>  <groupId>org.slf4j</groupId>  <artifactId>slf4j-api</artifactId>  <version>1.7.30</version> <!-- 使用适当的版本 -->  
</dependency>

3.2 配置 Slf4j

创建一个名为 logback-spring.xml 的配置文件(如果使用 Logback 作为实现的话),配置日志级别、输出格式和输出目的地等。例如:

<?xml version="1.0" encoding="UTF-8"?>  
<configuration>  <include resource="org/springframework/boot/logging/logback/defaults.xml"/>  <property name="LOG_FILE" value="${LOG_FILE:-${LOG_PATH:-${LOG_TEMP:-${java.io.tmpdir:-/tmp}}}/spring.log}"/>  <root level="INFO">  <appender-ref ref="FILE" />  </root>  <logger name="com.example.myapp" level="DEBUG" additivity="false">  <appender-ref ref="FILE" />  </logger>  <logger name="org.springframework" level="WARN" additivity="false">  <appender-ref ref="FILE" />  </logger>  <logger name="org.springframework.web" level="ERROR" additivity="false">  <appender-ref ref="FILE" />  </logger>  
</configuration>

在这个配置中:

  • <root level="INFO"> 设置了根日志记录器的级别为 INFO。这意味着所有级别为 INFO 及以上的日志消息都将被记录。
  • <logger name="com.example.myapp" level="DEBUG" additivity="false"> 配置了名为 com.example.myapp 的日志记录器的级别为 DEBUG。这意味着该记录器将记录 DEBUG 及以上级别的日志消息。additivity="false" 表示该记录器的日志消息不会传递给其父记录器。
  • <logger name="org.springframework" level="WARN" additivity="false"> 配置了名为 org.springframework 的日志记录器的级别为 WARN。这意味着该记录器将记录 WARN 及以上级别的日志消息。
  • <logger name="org.springframework.web" level="ERROR" additivity="false"> 配置了名为 org.springframework.web 的日志记录器的级别为 ERROR。这意味着该记录器将记录 ERROR 及以上级别的日志消息。

你可以根据需要添加更多的 <logger> 元素来配置特定包的日志级别。通过这种方式,你可以灵活地控制不同包的日志输出级别,以满足你的需求。

将此配置文件放置在 src/main/resources 目录下。如果是其他实现(如 Log4j),则应相应地调整配置文件名和路径。

3.3 在代码中使用Slf4j

import org.slf4j.Logger;  
import org.slf4j.LoggerFactory;  public class MySlf4jExample {  private static final Logger logger = LoggerFactory.getLogger(MySlf4jExample.class);  public static void main(String[] args) {  logger.info("This is an info message.");  logger.debug("This is a debug message.");  logger.warn("This is a warning message.");  logger.error("This is an error message.");  }  
}

在这个示例中,我们首先导入了 LoggerLoggerFactory 类。然后,在 MySlf4jExample 类中,我们创建了一个静态的 Logger 实例。通过调用 LoggerFactory.getLogger() 方法,我们获取了一个与当前类关联的 Logger 实例。

main 方法中,我们使用 Logger 的不同方法记录了不同级别的日志消息。info() 用于记录信息消息,debug() 用于记录调试消息,warn() 用于记录警告消息,error() 用于记录错误消息。

要运行这个示例,只需将代码保存为 MySlf4jExample.java 并编译运行即可。请确保已正确配置 Slf4j 的实现(如 Logback 或 Log4j),以便在运行时捕获和处理日志消息。

4. Log4j 和 Slf4j 的优缺点比较

  1. 功能与灵活性

    • Log4j: 提供了一套完整的日志解决方案,包括强大的配置、多种输出目的地、灵活的日志级别管理等。
    • Slf4j: 作为门面模式,为多种日志框架提供了统一的接口,允许开发者根据需要选择具体的日志实现。
  2. 性能与资源占用

    • Log4j: 在性能和资源占用方面相对较高,尤其是在大量日志记录时。
    • Slf4j: 由于其抽象层,性能和资源占用相对较低。
  3. 社区与支持

    • Log4j: 有庞大的社区支持和广泛的使用,遇到问题时更容易找到解决方案。
    • Slf4j: 同样有强大的社区支持,但由于其通用性,具体的实现(如 Logback、Log4j)可能不如 Log4j 社区那么活跃。
  4. 集成与兼容性

    • Log4j: 通常与 Java 企业应用集成得更好,尤其是一些老旧的系统。
    • Slf4j: 在现代的微服务和云原生应用中更为流行,因为它提供了更好的可插拔性。
  5. 易用性

    • Log4j: 提供了完整的解决方案,无需额外选择日志实现,但配置可能相对复杂。
    • Slf4j: 需要选择一个具体的日志实现,但配置相对简单,尤其是使用默认配置时。
  6. 扩展性与定制性

    • Log4j: 由于其强大的功能集,提供了更多的定制选项和扩展点。
    • Slf4j: 由于其抽象性,定制和扩展可能不如 Log4j 直接。
  7. 依赖与版本问题

    • Log4j: 可能与其他库存在版本冲突,尤其是当使用较旧的版本时。
    • Slf4j: 由于其抽象性,通常较少与其他库产生版本冲突。
  8. 文档与教程

    • Log4j: 有大量的文档和教程可供参考。
    • Slf4j: 同样有丰富的文档和教程,但可能不如 Log4j 那么集中。
  9. 费用考虑

    • Log4j: 通常需要购买商业许可,尤其是对于企业级应用。

    • Slf4j: 完全免费,没有商业限制。

  10. 移动性与现代化

    • Log4j: 由于其历史悠久,可能在一些现代应用场景中显得过时或不够灵活。

    • Slf4j: 由于其灵活性和可插拔性,更适合现代的微服务和云原生应用。

5. 总结

Log4j 和 Slf4j 都是广泛使用的 Java 日志框架,各有其优缺点。在选择时,建议根据项目的具体需求和场景来权衡。如果需要一个完整的日志解决方案并且对性能和资源占用不太敏感,Log4j 可能是一个不错的选择。如果更倾向于灵活性、可插拔性和现代应用集成,Slf4j 可能更为合适。无论选择哪个框架,都应确保正确配置并遵循最佳实践来获得最佳的日志记录效果。

点击下载《SpringBoot日志插件log4J和slf4J的使用和比较含完整示例》

http://www.tj-hxxt.cn/news/9348.html

相关文章:

  • 郑州做网站公司汉狮百度推广登录地址
  • 网站推广费用怎么做分录设计公司网站
  • 网站营销单页怎么做岳阳seo公司
  • 如何让自己做的网站在google搜索引擎上搜到百度快照
  • 兰州网站建设100河北百度seo点击软件
  • 网站排名优化工薪待遇自动发帖软件
  • 新冠疫情最新信息九江seo
  • 做杂志的模板下载网站常用的搜索引擎有哪些?
  • 哪个网站做室内效果图厉害信息流广告公司一级代理
  • java如何做网站的教程index百度指数
  • 做展示型网站便宜吗网络营销推广的总结
  • 电子商务网站建设的成本分析宁波优化系统
  • 杭州网站建设公司官网搜索引擎的设计与实现
  • 西安学校网站建设哪家好如何创建个人网页
  • 链接制作网站网络营销推广的目的
  • 织梦免费网站模块下载北京网讯百度科技有限公司
  • 做网站原型现成的框架vi设计公司
  • 高仿做的好点的网站注册网站需要多少钱
  • 网页设计和网站建设是同一回事吗互联网营销师是做什么的
  • 什么网站做论坛签名怎么创建自己的游戏网站
  • 对网站政务建设的建议线上营销推广方案有哪些
  • 商标设计免费谷歌seo运营
  • 网站轮播图片制作提高工作效率的工具
  • 磁力网站怎么做的百度百度
  • 建邺区建设局网站朋友圈推广广告
  • world做网站新媒体运营培训班
  • 昆明公司网站建设百度sem
  • 企业网站建设流程图被公司优化掉是什么意思
  • 做公司网站有用吗推广发布任务平台app下载
  • 做网站友情链接都写什么百度指数的基本功能