首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Java 程序员必备的 15 个框架,前 3 个地位无可动摇!

Spring Boot提供了各种组件的启动器(starters),开发者只要能配置好对应组件参数,Spring Boot 就会自动配置,让开发者能快速搭建依赖于 Spring 组件的 Java 项目。...官网: http://www.mybatis.org/mybatis-3/ 源码: https://github.com/mybatis 推荐: Mybatis 传递多个参数的 4 种方式 更多请关注Java...Hibernate 可以自动生成 SQL 语句,自动执行,使得 Java 程序员可以随心所欲的使用对象编程思维来操作数据库。...官网: https://junit.org 源码: https://github.com/junit-team/ 15.Log4j Log4j 是 Apache 的一个开源日志框架,通过 Log4j 我们可以将程序中的日志信息输出到控制台...官网: https://logging.apache.org/log4j/2.x/ 源码: https://logging.apache.org/log4j/2.x/source-repository.html

1.3K10

Java 程序员必备的 15 个框架,前 3 个地位无可动摇!

Spring Boot 提供了各种组件的启动器(starters),开发者只要能配置好对应组件参数,Spring Boot 就会自动配置,让开发者能快速搭建依赖于 Spring 组件的 Java 项目。...Hibernate 可以自动生成 SQL 语句,自动执行,使得 Java 程序员可以随心所欲的使用对象编程思维来操作数据库。...Ehcache EhCache 是一个纯 Java 的进程内缓存框架,具有快速、精干等特点,是 Hibernate 中默认的 CacheProvider。...Log4j Log4j 是 Apache 的一个开源日志框架,通过 Log4j 我们可以将程序中的日志信息输出到控制台、文件等来记录日志。作为一个最老牌的日志框架,它现在的主流版本是 Log4j2。...官网: https://logging.apache.org/log4j/2.x/ 源码: https://logging.apache.org/log4j/2.x/source-repository.html

53620
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    《手把手教你》系列基础篇(八十七)-java+ selenium自动化测试-框架设计基础-Log4j 2实现日志输出-上篇(详解教程)

    1.简介 Apache Log4j 是一个非常古老的日志框架,并且是多年来最受欢迎的日志框架。 它引入了现代日志框架仍在使用的基本概念,如分层日志级别和记录器。...2.Log4j2简介 Apache Log4j 2是对 Log4j 的升级,它比其前身 Log4j 1.x 提供了重大改进,并提供了 Logback 中可用的许多改进,同时修复了 Logback 架构中的一些固有问题...4.log4j2配置说明 log4j 2.x版本不再支持像1.x中的.properties后缀的文件配置方式,2.x版本常用.xml后缀的文件进行配置,除此之外还包含.json和.jsn配置文件 log4j2...和Logger). status用来指定log4j本身的打印日志的级别.monitorinterval为log4j 2.x新特点自动重载配置。...",%C{2}将使日志输出输出范围为:aaa.classB%d 输出日志时间其格式为 可指定格式 如 %d{HH:mm:ss}等%l 输出日志事件发生位置,包括类目名、发生线程,在代码中的行数%n 换行符

    38030

    细说java平台日志组件

    1. java.util.logging ? JDK自带日志组件,使用方式简单,不需要依赖第三方日志组件。 支持将日志打印到控制台,文件,甚至可以将日志通过网络打印到指定主机。...JCL提供了一个轻量级的日志抽象,为应用程序提供统一的日志API。允许用户使用具体的日志实现,如:log4j,Avalon LogKit,java.util.logging。.../log4j/2.x/ 主流日志框架,2.x版本继续更新,1.x已经停止。...总结: 1. apache commons logging组件和slf4j都是日志抽象框架,为应用程序提供统一的日志操作API,支持多种日志实现,如:log4j。...另外,slf4j的日志参数格式化非常方便,在slf4j中可以直接将日志语句写成:logger.info("hello, {}", "hello world");而在log4j中要实现这个效果必须通过String

    1.2K30

    Apache Log4j 远程代码执行漏洞源码级分析

    详情见 【漏洞预警】Apache Log4j 远程代码执行漏洞 漏洞描述 Apache Log4j2 是一款优秀的 Java 日志框架。...影响版本 Apache Log4j 2.x <= 2.14.1 安全建议 1、升级 Apache Log4j2 所有相关应用到最新的 log4j-2.15.0-rc1 版本,地址 https://github.com...() { logger.info("content {}", "${java:vm}"); } } 可以发现输出是: content Java HotSpot(TM) 64-Bit...client 可以获取服务器的某些信息,通过 JNDI 远程加载类 client 向服务器注入恶意代码 GitHub 项目 Java 编程思想-最全思维导图-GitHub 下载链接,需要的小伙伴可以自取...参考链接 Java 安全-RMI-JNDI 注入 Lesson: Overview of JNDI https://logging.apache.org/log4j/2.x/manual/lookups.html

    38710

    log4j2的漏洞修复

    log4j2的漏洞修复 简介 Log4j是Apache的一个开源项目,通过使用Log4j,可以控制日志信息输送的目的地是控制台、文件、GUI组件,甚至是套接口服务器、NT的事件记录器、UNIX Syslog...守护进程等;也可以控制每一条日志的输出格式;通过定义每一条日志信息的级别,能够更加细致地控制日志的生成过程,这些可以通过一个配置文件来灵活地进行配置,而不需要修改应用的代码。...Apache Log4j2是Log4j的升级版本,该版本与之前的log4j1.x相比带来了显著的性能提升,并且修复一些存在于Logback中固有的问题的同时提供了很多在Logback中可用的性能提升,Apache...漏洞评级和影响版本 Apache Log4j 远程代码执行漏洞 严重 影响的版本范围:Apache Log4j 2.x <= 2.14.1 jdk与log4j2的版本对应关系 Log4j2.12.1是支持...Java 7的最后2.x版本,Log4j2.3是支持Java 6的最后2.x版本,Log4j团队不再提供对Java 6或7的支持。

    44120

    log4j 详解

    配置 Appender 输出方式也称之为输出目的地,Log4j 自带的 appender 类有: 复制 org.apache.log4j.ConsoleAppender(控制台), org.apache.log4j.FileAppender.../log4j/2.x/manual/layouts.html#LocationInformation Log4j 能输出形形色色的参数, 但参数内容的长度可能不同。...如 %C 输出类名,有的类名很长,有的类名很短,会导致日志比较凌乱。为了解决该问题,Log4j允许设置输出内容的长度等,不够的会用空格补上。...配置参数: 属性 描述 immediateFlush 标志的默认设置为true,这意味着输出流的文件被刷新,在每个追加操作 encoding 它可以使用任何字符编码。...默认情况下是特定于平台的编码方案 threshold 这个 appender 阈值级别 File 日志文件的路径,如 d:/test.log append 默认设置为true,这意味着记录的信息被附加到同一文件的末尾

    60520

    【安全通告】Apache Log4j 2 远程代码执行漏洞(CVE-2021-45046)

    腾讯云安全运营中心监测到, Apache Log4j 由于非默认配置下对CVE-2021-44228修复措施不完善,导致在某些特殊配置场景下,可被攻击者利用造成远程代码执行攻击。...漏洞详情 Apache Log4j 2 是一个开源的日志记录组件,是 Apache Log4j 的升级版,它可以控制每一条日志的输出格式,通过定义每一条日志信息的级别,能够更加细致地控制日志的生成过程。...3.7分上升到CVSS 9.0分,该漏洞与非默认配置下对CVE-2021-44228修复措施不完善有关,在线程上下文查找模式的某些非默认配置中,攻击者可以构造特定请求,实现远程代码执行。...) 安全版本 Apache log4j 2.16.0 (Java 8) Apache Log4j 2.12.2(Java 7) 修复建议 建议开展内部自查,检查业务应用是否引入了Apache log4j-core.../logging.apache.org/log4j/2.x/download.html Java 7 用户:需升级到 Apache Log4j 2.12.2版本,下载地址: https://github.com

    74550

    java日志commons-logginglog4jslf4jlogBack需要知道的几件事

    我们可以通过配置文件轻松的实现日志系统的管理和多样化配置。 Slf4j: 全称为Simple Logging Facade for JAVA:java简单日志门面。是对不同日志框架提供的一个门面封装。...二、 SLF4J 的几种实际应用模式--之一:SLF4J+Log4J SLF4J(Simple Logging Facade for Java) 是一个通用的日志框架,不能何以谓之 Facade(门面)...就像 JCL 需要底层的日志实现,如 Log4J、java.util.logging、Simple Logger 等来完成具体的信息输出,事实上基本总是 JCL+Log4J 那么一个绝配。...logback-core 是核心;logback-classic 改善了 log4j,且自身实现了 SLF4J API,所以即使用 Logback 你仍然可以使用其他的日志实现,如原始的 Log4J,java.util.logging...等;logback-access 让你方便的访问日志信息,如通过 http 的方式。

    73640

    Spring Boot 2.x的默认日志管理与Logback配置详解

    在Spring Boot生态中,为Java Util Logging 、Log4J2 和Logback 这些常见的日志框架都提供了自动化配置组件,每种Logger都可以通过配置在控制台或者文件中输出日志内容...英文全称:Simple Logging Facade for Java,即:简单日志门面,它并不是一个具体的日志解决方案,实际工作的还是Logback或Log4j这样的日志框架。...DEBUG级别: 第一种:在运行命令后加入--debug标志,如:$ java -jar myapp.jar --debug 第二种:在配置文件application.properties中配置debug...文件输出 Spring Boot默认配置只会输出到控制台,并不会记录到文件中,但是我们通常生产环境使用时都需要以文件方式记录。...-spring的文件名作为你的日志配置(如使用logback-spring.xml,而不是logback.xml) 自定义输出格式 在Spring Boot中可以通过在application.properties

    1.1K40

    Apache Log4j 2远程代码执行漏洞

    漏洞描述 Apache Log4j是一个基于Java的日志记录工具。Log4j是几种Java日志框架之一。...Log4j 2.X中采用了LDAP的简单目录服务结构进行日志的查询。...在进行递归查询时,JNDI方法在处理查询参数的过程中存在注入漏洞,攻击者可利用该漏洞在未授权的情况下,构造恶意参数以远程方式在目标服务器上执行恶意代码。...漏洞影响范围 Apache Log4j 2.x: 含有该漏洞的Log4j 2影响到超过 6000个中间件或应用,目前已知的可能受影响的应用及组件包括但不限于如下清单中所列出的: Spring-Boot-strater-log4j2...也可以通过查看内部JAVA源代码库中所引入的组件清单列表来确认是否引入了Apache Log4j 2.x的Jar包。

    70230

    组件日志单独打印

    Log4j2为应用程序提供了几种创建自己的编程配置的方法: 指定自定义ConfigurationFactory以使用编程配置启动Log4j Log4j启动后,使用Configurator替换配置 使用配置文件和编程配置的组合初始化...Log4j 初始化后修改当前配置 这里说一下第四种:有时你使用配置文件进行配置,但需要进行一些额外的编程配置。...标准配置完成后,可以向其中添加自定义配置。 下面的示例显示了如何扩展XmlConfiguration以手动将Appender和LoggerConfig添加到配置中。...fileAppender, null, null); addLogger("org.apache.logging.log4j", loggerConfig); } } 主要思路就是通过显示编码的方式在...参考资料: log4j2 Programmatic Configuration: https://logging.apache.org/log4j/2.x/manual/customconfig.html

    12410

    【漏洞通告】Apache Log4j2 远程代码执行漏洞(CVE-2021-44228CVE-2021-45046)

    最新安全问题请关注 漏洞描述 Apache Log4j2是一款优秀的Java日志框架。近日,阿里云计算有限公司发现阿帕奇Log4j2组件存在远程代码执行漏洞,并将漏洞情况告知阿帕奇软件基金会。...同时为了避免在Apache Log4j 2.15.0版本中某些自定义配置而可能导致的JNDI注入或拒绝服务攻击,请尽快升级Apache Log4j2所有相关应用到 2.16.0 或者 2.12.2 及其以上版本...,地址 https://logging.apache.org/log4j/2.x/download.html 。...3、对于 Java 7 用户,建议升级至 Apache Log4j 2.12.2 版本,该版本为安全版本,用于解决兼容性问题。.../JndiLookup.class 5、升级已知受影响的应用及组件,如 spring-boot-starter-log4j2/Apache Struts2/Apache Solr/Apache Druid

    1.9K30

    认识Spring 中的日志

    到目前为止Java生态有很多的日志框架:logback、log4j、log4j2、simpleLog、JUL等。...这么多的日志框架,你想象一下,如果开始的时候你使用的JUL打印日志,随着新技术的发展又出来了log4j,另一波开发人员又引入了log4j,后面又出现了log4j2,多种日志框架充斥着系统,改配置就得改不同的文件...logApi = LogApi.SLF4J_LAL; } else { // Use Log4j 2.x directly, including location awareness...SLF4J 说回SLF4J,使用方式也跟JCL一样,只需要同样的代码,就能使用不同的日志框架。...Logger logger = LoggerFactory.getLogger(Wombat.class); 但是它比JCL更先进,只需要更换不同的绑定器,而不是将日志实现硬编码在代码中 SLF4J里面有还有两个概念

    11810

    如何把kafka Log4j1.x升级到Log4j2.x ?

    Log4j 2.x 的,临时构建出来了2.15.0-rc2防护版本,但是后续不让人消停啊。...(RCE) 攻击的特征漏洞,官方于2021.12.28推出了 「2.17.1」 版本,虽然此漏洞的利用条件极高,需要可以控制配置文件,但是官方评分还是6.6分(https://logging.apache.org.../log4j/2.x/security.html#),属于「中危漏洞」。...EOL代表不再维护迭代的版本, 所以一般对于安全性要求高的公司,这种情况是不允许的,所以理想的处理办法是在不修改源码的情况下能够修复这些漏洞,同时满足生产安全要求,如果实在不行,只能让有编程开发能力的同学拉取官方对应版本代码分支重新编译一个版本...从log4j2的官网https://logging.apache.org/log4j/2.x/了解到,log4j1.x和log4j2.x是存在一定的兼容性的,它们实现的都是SLF4J的API,理论上来说是可以通过替换

    1.5K30

    使用Spring Boot日志框架在已有的微服务代码中添加日志功能

    在传统Java应用程序中,我们一般会使用类似Log4j这样的日志框架来输出日志,而不是直接在代码中通过System.out.println()来输出日志。为什么要这么做呢?原因有两点。...在第二段dependency配置中,我们自行添加了spring-boot-starter- log4j2依赖,它是Spring Boot所提供的Log4J插件,此时使用的是Log4J的2.x版本。...在appenders中,我们添加了一个File类型的appenders,表示日志以文件的方式进行输出,该文件路径基于根目录${sys:user.home},即当前用户目录(该变量由Log4J框架在运行时传入...很明显,这段配置与之前在Spring Boot中配置的意义相同。 通过以上配置,可将Log4J集成到Spring Boot应用中。...目前,虽然日志已经成功输出到文件中,但是我们的微服务是以Docker容器的方式来运行的,此时输出的日志文件仍然和应用程序在一个Docker容器中,我们得想办法将日志文件输出到Docker容器外。

    47410

    Log4j 远程代码执行漏洞对 Flink 的影响和修复方案

    RMI 全称为 Remote Method Invocation,是 Java 提供的一种基于序列化的远程方法调用机制,可以通过网络通讯的方式,调用远程服务器提供的函数,就像在本地使用一样方便。...由于 RMI 和 LDAP 远程执行代码的方式过于灵活,时常成为被攻击的对象,因此在较高版本的 JDK 中,默认情况下已经做了禁用,很多防火墙也可以检测到相关的字符串。...漏洞成因 Log4j 2.x 作为一个广为使用的日志库,为了满足各类用户的不同需求,大家会持续不断地给他贡献新的功能。...具体对于 Flink 而言,则是修改 flink-conf.yaml 文件,找到并修改 env.java.opts 配置项(如果没有则新增一行),例如: env.java.opts: -Dlog4j2....,可以作为上述防御手段被绕过(例如用户自己上传了超低版本的 Log4j 2.x 代码)的兜底手段。

    2.1K172

    Java一分钟之-Log4j与日志记录的重要性

    日志记录是软件开发中必不可少的部分,它帮助开发者跟踪程序运行状态、定位错误和调试问题。Log4j是Java领域广泛使用的日志框架,本文将探讨其重要性以及使用Log4j时的常见问题和避免方法。 1....Log4j简介 Log4j是Apache的一个开源项目,提供灵活的日志记录功能,包括控制输出级别、定制布局、多日志输出和性能优化等。...常见问题与解决 3.1 日志输出混乱 使用日志级别(如DEBUG、INFO、WARN、ERROR)来过滤不必要的信息。在生产环境中通常只输出ERROR和WARN级别。...%d{yyyy-MM-dd}.log"/> 3.3 日志安全问题 最近Log4j 2.x版本存在严重的远程代码执行漏洞(CVE-2021...及时更新到安全版本,避免在日志消息中包含用户输入。 4. 结语 日志记录是软件开发的基石,Log4j提供了强大而灵活的日志管理能力。通过合理配置和使用,我们可以更好地监控系统,及时发现并解决问题。

    18010
    领券