2 Star 6 Fork 3

code / log4j2

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
贡献代码
同步代码
取消
提示: 由于 Git 不支持空文件夾,创建文件夹后会生成空的 .keep 文件
Loading...
README

Log4j 2 包含了基于LMAX 分离库的下一代的异步日志系统,在多线程环境下,异步日志系统比 Log4j 1.x 和Logback 提高了10倍性能提升(吞吐量和延迟率 )。原文如下: Log4j 2 contains next-generation Asynchronous Loggers based on the LMAX Disruptor library. In multi-threaded scenarios Asynchronous Loggers have 10 times higher throughput and orders of magnitude lower latency than Log4j 1.x and Logback.

由于作者推荐,为了性能考虑,尽量不要使用slf4j,但我依赖的第三方框架比如spring有对slf4j使用,所以对JAR包做了以上的取舍,所以原有代码中要做如下的改动 改动前:import org.slf4j.Logger; import org.slf4j.LoggerFactory; private static final Logger logger = LoggerFactory.getLogger(OOXX.class);

改动后:iimport org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; private static final Logger logger = LogManager.getLogger(OOXX.class);

要使用异步写日志的功能,必须引入Disruptor or 官方建议一般程序员查看的日志改成异步方式,一些运营日志改成同步

Asynchronous Appenders 和 Asynchronous Loggers 区别: 在 节点里添加 为Asynchronous Appenders 性能比同步快,比Asynchronous Loggers慢 在loggers节点添加 或者添加

为logger async 用的是无锁并发技术,必须引入Disruptor 测试了下,单线程异步比同步效率提高了1倍。线程越多性能提高越明显。 如果要加上位置信息比如哪个类,第几行,需要设置 includeLocation="true" 但默认不设置好像也是true,

空文件

简介

spring boot 集成log4j2,并且配置log4j2.xml,按月分文件夹,按小时归档成gzip压缩文件,集成disruptor实现异步输出日志 展开 收起
Java
取消

发行版

暂无发行版

贡献者

全部

近期动态

加载更多
不能加载更多了
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
Java
1
https://gitee.com/geekgo/log4j2.git
git@gitee.com:geekgo/log4j2.git
geekgo
log4j2
log4j2
master

搜索帮助

344bd9b3 5694891 D2dac590 5694891