首页
学习
活动
专区
圈层
工具
发布

spring引入log4j2日志框架

Log4j2是Apache的一个开源项目,通过使用Log4j2,我们可以控制日志信息输送的目的地是控制台、文件、GUI组件,甚至是套接口服务器、NT的事件记录器、UNIX Syslog守护进程等;我们也可以控制每一条日志的输出格式...slf4j:slf4j是对所有日志框架制定的一种规范、标准、接口,并不是一个框架的具体的实现,因为接口并不能独立使用,需要和具体的日志框架实现配合使用(如log4j、logback、log4j2)。...log4j2:Log4j2是log4j 1.x和logback的改进版,据说采用了一些新技术(无锁异步等),使得日志的吞吐量、性能比log4j 1.x提高了10倍,并解决了一些死锁的bug,而且配置更加简单灵活.../issues/I1N1DF 代码实现 项目代码结构(非spring纯log4j2) ?...本文只是关于spring相关,涉及log4j2还是比较浅,后续再统一深入。

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

    log4j2 JNDI 注入漏洞分析

    0x01 写在前面 2021 年 12 月 9 号注定是一个不眠之夜,著名的Apache Log4j 项目被爆存在远程代码执行漏洞,且利用简单,影响危害巨大,光是引入了 log4j2 依赖的组件都是数不清...,首先翻阅官方文档中关于lookup的说明: lookup提供了一种在任意位置向 Log4j2 配置添加值的方法,是实现StrLookup接口的特殊类型的插件 ,查看官方文档发现log4j2 支持的方法有很多...没错了,就是LogManager.getLogger().xxxx()方法 在log4j2中,共有8 个日志级别,可以通过LogManager.getLogger()调用记录日志的方法如下: LogManager.getLogger...0x04 漏洞复现 0x05 写在最后 log4j2涉及的组件之多、牵扯的范围之广,造成的结果,恐怕是漏洞发现者或者是某个公开 poc 的安全公众号都始料未及的。...第二,log4j2 项目引入JNDI lookup 已有 7 年之久,但是应用范围如此之广、利用复杂难度之低的漏洞,长达 7 年未被发现,实在有些惭愧(更惭愧的是官方文档还有 jndilookp 的使用说明

    1.3K40

    Spring Boot 使用 Log4j2 & Logback 输出日志到 EKL

    4、Spring Boot 配置示例 使用 Idea 创建一个 Spring Boot 项目,我们先添加 Log4j2支持,演示如何使用 Log4j2 将日志直接输出到本地的 ELK 中,然后演示下通过...4.1、Log4j2 方式配置 首先修改 pom.xml 增加 Log4j2 日志框架支持,注意 spring-boot-starter 默认使用 Logback 作为日志框架,所以需要先移除默认日志配置...如果使用异步日志时,添加 disruptor 支持,会大大提高效率,当然不添加也是没有问题的。 增加 log4j2-spring.xml 配置输出到 ELK 中,大概配置如下: <?...4.2、Logback 方式配置 上边使用 Log4j2 日志框架可以正确输出日志到 ELK,但是有一个地方需要我们注意,就是启动 Logstash 时指定 Elasticsearch 的 index...,当然使用 Spring Boot 默认日志框架 Logback 可以很轻松的办到。

    3.9K21

    log4j2 与 spring mvc整合

    log4j2不仅仅是log4j的简单升级,而是整个项目的重构,官网地址:http://logging.apache.org/log4j/2.x/,大家可以从官网的介绍看出它相比log4j第1代的种种优点...; 21 } 22 } 在没有任何配置的情况下,log4j2会使用默认配置: 1 的status="WARN",可以去掉,它的含义为是否记录log4j2本身的event信息,默认是OFF,设置成“WARN”指:所有log4j2的event信息中,只有WARN及以上级别的信息才记录...最多保留20个 27-30行,定义了一个新logger,它的级别是trace ,使用文件方式来记录日志,additivity="true" 这里注意一下,因为下面还有一个root logger,任何其它的...更多关于logger name继承的规则,请参考log4j2的官方pdf文档 二、与Spring MVC 的整合 2.1 maven依赖项 1 2 <java.version

    2.3K10

    Spring爆出比Log4j2还大的漏洞?

    最近正愁着没有技术的瓜可以吃呢,这不,Spring 就心领神会地贡献了一波。 上图是云舒大佬发的微博,有吃瓜群众就问:“这个瓜有 log4j2 那么好吃吗?” 云舒大佬回复说:“绝壁更好吃”。...看到这,我就很心满意足了,我想这下 Spring 的 GitHub 仓库上肯定会有 issue 来详细阐述这个瓜是怎么生产的,又是怎么解决的。...Google 搜了一下“Spring 漏洞”的关键词,证实云舒大佬所言非虚。...考虑到Spring框架的广泛应用,FreeBuf(网络安全行业的一家媒体平台)对漏洞评级为:危险。 不过漏洞的解决方案,倒是令我大吃一惊!...可以明确的是,Spring 这次漏洞和 Log4j2 那次相比,只能说是小巫见大巫,不一个重量级哈。 反正我这次是真的想吃瓜,想通过吃瓜的方式学点技术,可惜就学到了 java -version。

    42720

    浅谈Log4j2信息泄露与不出网回显

    0x00 介绍 本文核心是探讨:由于各种情况(RASP和SecurityManager等)导致无法RCE时候如何利用Log4j2 最近在赛博回忆录看到很多大佬提出Log4j2的利用姿势,本文也是参考各位大佬...(比如浅蓝大佬)的成果做个总结 昨天看到P师傅凌晨三点还在研究Log4j2在ES中的利用,P牛指出: ElasticSearch利用Java的SecurityManager安全机制来防御文件操作和Socket...操作,所以无法正常连接远程服务器 这种情况也说明了研究Log4j2非RCE利用方式的必要性 信息泄露需要两个关键点 如何获取泄露的信息 如何带出来泄露的信息 解决 获取:利用${}和其他各种Lookup...,那么这将会是严重的漏洞,但目前的情况不算很严重 嵌入标签即可带到Dnslog 0x04 DNS DNS协议是属于JNDI协议的,所以我们也可以利用DNS协议来带一些信息 使用logg.error...再Tomcat中使用Log4j2的配置文件需要修改web.xml org.apache.logging.log4j.web.Log4jServletContextListener

    3.7K10

    使用Spring Boot和Log4j2进行高效日志管理:配置详解

    与Log4j相比,它在性能和功能上有着极大的提升。Spring Boot本身已经默认集成了Logback作为日志框架,但如果需要使用Log4j2来替代Logback,只需要进行简单的配置即可。...摘要 本文将从以下几个方面介绍Spring Boot整合Log4j2的方法: 添加Log4j2的依赖; 配置Log4j2; 使用Log4j2记录日志。...需要注意的是,由于Spring Boot本身默认使用Logback作为日志框架,因此在添加Log4j2依赖时需要将spring-boot-starter-logging排除掉。...示例配置如下: 图片 使用Log4j2记录日志 在Spring Boot中,可以使用注解的方式来记录日志。通过在类中添加注解@Log4j2,可以自动为该类生成一个Logger对象。...通过本文的介绍,相信读者已经了解了如何使用Log4j2来替代Logback,并且能够快速上手使用Log4j2记录日志。

    5.9K30

    Spring Boot 2.x中如何使用Log4j2记录日志

    上一篇我们介绍了Spring Boot 2.x中默认日志框架Logback的使用。今天继续说说日志,接下来我们要讲是前段时间爆出核弹漏洞的Log4j2。...虽然出了漏洞,让很多小伙伴痛苦了1-2周(加班),但不可否认的是Log4j2依然是目前性能最好的日志框架。所以,当Logback性能上无法支撑的时候,替换使用Log4j2还是最为快速便捷的方法。...下面,我们就来学习一下如何在Spring Boot 2.x版本中,替换Logback,使用Log4j2记录日志。...这个其实很好判断,大家只需要在用到日志的地方,加个端点,Debug跑起来,观察下log对象就可以了,比如: 下面这个是使用默认Logback的情况: 使用Logback 下面这个是使用Log4j2的情况...使用Log4j2 最后,因为之前Log4j2有过很大的漏洞问题,大家一定要用最新版本哦!

    2.2K40

    引爆全球的 Log4j2 核弹级漏洞,JNDI 到底是个什么鬼?

    MysqlDataSource");  conn = ds.getConnection();  ... } catch(Exception e) {  ... } finally {  ... } 当然,数据源及配置现在都是 Spring...---- 要使用 JNDI,必须要有一个 JDNI 类,以及 1 个或者多个服务提供者(SPI),比如,在 JDK 中就包含以下几个服务提供者: 轻量级目录访问协议 (LDAP) 通用对象请求代理体系结构... {     public static final Logger logger = LogManager.getLogger();          public static void main(...Log4j2 漏洞的后续进展,栈长也会持续跟进,关注公众号Java技术栈,公众号第一时间推送。...结语 Log4j2 Lookups 引发的漏洞真不少,这阵子一直在爆雷,这还真是个鸡肋功能,有几个人用到了?

    59110
    领券