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

服装行业网站建设及推广云空间网站

服装行业网站建设及推广,云空间网站,全网营销型推广网站建设,wordpress电影站数据下载文章目录 背景SLF4J - 简单日志门面:Log4j - 强大而古老的日志框架:Log4j2 - Log4j的升级版:Logback - Log4j的继任者:比较Springboot集成slf4j、log4j2参考 背景 在Java开发中,日志记录是一个不可或缺的组成部分。为了满足不同的需求,Java社区涌现出多…

文章目录

    • 背景
    • SLF4J - 简单日志门面:
    • Log4j - 强大而古老的日志框架:
    • Log4j2 - Log4j的升级版:
    • Logback - Log4j的继任者:
    • 比较
    • Springboot集成slf4j、log4j2
    • 参考

背景

在Java开发中,日志记录是一个不可或缺的组成部分。为了满足不同的需求,Java社区涌现出多个日志框架,其中包括SLF4J、Log4j、Log4j2和Logback。本文将比较这些框架,以及为什么在项目中选择使用它们。

SLF4J - 简单日志门面:

SLF4J 是一个为Java提供简单日志的门面。它并不是一个具体的日志实现,而是提供了一个通用的API,允许开发者选择底层的日志框架。下面是一个简单的SLF4J使用示例:

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;public class SLF4JExample {private static final Logger logger = LoggerFactory.getLogger(SLF4JExample.class);public static void main(String[] args) {logger.info("Hello, SLF4J!");}
}

slf4j不是一个真正意义的可用应用程序,他是一个接口层
就像java 的接口性质一样,单纯集成了slf4j 的话,执行比如log.info log.debug等方法,只能在控制台打印日志,并不会在持久化到文件,或者其他自定义介质上,slf4j至少需要一个实现层框架,比如log4j,logback等

Log4j - 强大而古老的日志框架:

Log4j 是Java社区中最早的日志框架之一,提供了丰富的功能,包括异步日志、插件支持等。下面是一个Log4j的使用示例:

import org.apache.log4j.Logger;public class Log4jExample {private static final Logger logger = Logger.getLogger(Log4jExample.class);public static void main(String[] args) {logger.info("Hello, Log4j!");}
}

Log4j2 - Log4j的升级版:

Log4j2 是 Log4j 的升级版,解决了 Log4j 1.x 存在的性能和线程安全问题。它引入了新的特性,如异步日志、插件体系结构等。以下是一个Log4j2的使用示例:

import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;public class Log4j2Example {private static final Logger logger = LogManager.getLogger(Log4j2Example.class);public static void main(String[] args) {logger.info("Hello, Log4j2!");}
}

Logback - Log4j的继任者:

Logback 是由 Log4j 的创始人开发的日志框架,旨在成为 Log4j 的继任者。它具有与 Log4j 相似的功能,并被认为是更现代和性能更好的选择。以下是一个Logback的使用示例:

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;public class LogbackExample {private static final Logger logger = LoggerFactory.getLogger(LogbackExample.class);public static void main(String[] args) {logger.info("Hello, Logback!");}
}

比较

slf4j,log4j,log4j2,logback 时间线:log4j ->slf4j ->logback ->log4j2
在这里插入图片描述

  • SLF4J 是一个日志门面,它允许在不修改应用代码的情况下切换不同的日志实现。一般与具体的实现框架(如Logback或Log4j2)一起使用。

  • Log4j 是一个功能强大而古老的日志框架,提供了许多高级功能。然而,由于其1.x版本存在一些问题,现在更推荐使用 Log4j2。

  • Log4j2 是 Log4j 的升级版,解决了旧版本的一些问题,性能更好,并引入了新特性。在现代项目中,是一个不错的选择。

  • Logback 是由 Log4j 的创始人开发的日志框架,旨在成为 Log4j 的继任者。它具有较好的性能和一些新特性,是一个流行的选择。

在选择日志框架时,考虑项目需求、性能、易用性和社区支持等因素是很重要的。大多数现代Java应用程序选择使用 SLF4J 作为日志门面,结合 Logback 或 Log4j2 作为底层实现,以提供较好的性能和灵活性。

Springboot集成slf4j、log4j2

Spring Boot默认使用SLF4J作为日志门面,并且通过classpath中的依赖关系,Log4j2会被自动识别并成为默认的日志实现。下面是一个简单的示例:

1、添加依赖:

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

2、创建Log4j2配置文件:
在src/main/resources目录下创建一个名为log4j2.xml的文件,用于配置Log4j2。以下是一个简单的配置示例:

<?xml version="1.0" encoding="UTF-8"?>
<Configuration status="INFO"><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></Loggers>
</Configuration>

也可以不配置xml文件,使用 application.properties

logging.file.path=./logs
logging.level.root=info
logging.file.name=./logs/app.log

3、编写Spring Boot应用程序:
创建一个简单的Spring Boot应用程序,使用SLF4J进行日志记录。例如,创建一个HelloController:

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;@RestController
public class HelloController {private static final Logger logger = LoggerFactory.getLogger(HelloController.class);@GetMapping("/hello")public String hello() {logger.info("你好啊,我是log4j");return "Hello, world!";}
}

可以看到命令行打印出来了
在这里插入图片描述
由于我们在 application.properties 配置了日志的路径,所以在这个路径下也保存了一份日志,你也可以将日志保存到数据库或者其他地方
在这里插入图片描述

参考

https://blog.csdn.net/madness1010/article/details/128332275

http://www.yayakq.cn/news/187367/

相关文章:

  • 二级域名免费注册网站营销型 网站开发
  • 盐城网站建设哪家好威海市环翠区建设局网站
  • 做网站的书知乎健康保险网站
  • 怎么做网站安全检测ftp无法直接wordpress
  • 自己做pc网站建设甘谷县建设局网站
  • 域名解析到服务器ip然后服务器怎么弄才能跳转到那个网站专业制作网站 地摊
  • 山东高端网站定制做电影网站需要哪些条件
  • 江东网站制作注册深圳公司的费用
  • wordpress站群软件东营招聘信息网官网
  • 中国知名的建网站的公司泰安专业网站建设
  • 洛阳市app网站开发公司电话网页设计与编程
  • 怎么做网站代理商百度安全网站检测
  • dw做企业网站小门户网站模版
  • 网站布局是什么样的搜索引擎网站分析
  • 网站推广优化建设那个网站专利分析做的好
  • 如何免费推广一个网站磁力猫
  • 做网站编程应用制作器
  • 网站开发流程联系方式2022年度关键词
  • 网站logo怎么做最清楚网站建设中图片是什么意思
  • 成武菏泽网站建设SEO做得最好的网站
  • 请问怎么做网站怎么开微信公众号
  • 咸阳营销型网站建设各大企业邮箱
  • 宜黄建设局网站宜昌 医院 网站建设
  • 莱钢建设有限公司网站南京知名网站建设公司
  • 域名注册服务商关键词优化平台有哪些
  • 网站需要的栏目wordpress多余页面怎样删除
  • 网站怎么才有alexa排名温州市网络科技有限公司
  • 网站建设特效素材wordpress 微信 主题
  • 无锡微网站开发腾讯云服务器收费标准
  • 海沧网站建设网页设计图片剧中