log4j2配置中RollingFile和RollingRandomAccessFile有什么区别

2024-01-11

在我们当前的实现中,其中一台服务器具有为 RollingRandomAccessFile 和另一个 RollingFile 设置的 log4j2 配置。如果可能的话,我想知道两者之间的区别以及各自的优缺点。

Thanks


主要区别在于性能:http://logging.apache.org/log4j/2.x/manual/async.html#FileAppender_vs._RandomAccessFileAppender http://logging.apache.org/log4j/2.x/manual/async.html#FileAppender_vs._RandomAccessFileAppender

RandomAccessFileAppender 始终是缓冲的,而 FileAppender 提供了一个配置开关(bufferedIO)。两者都有一个“immediateFlush”配置选项,以防您想确保消息位于磁盘上(例如审核日志记录)。最后,RandomAccessFileAppender 的默认缓冲区大小更大:256*1024 字节与 FileAppender 的 8*1024 字节(两个附加程序缓冲区大小都可以在配置中设置)。

另一件事是,底层实现在一种情况下使用 RandomAccessFile,在另一种情况下使用 OutputStream(顾名思义)。将 RandomAccessFileAppender 与 unix logrotate 实用程序结合使用时存在一个已知问题(https://issues.apache.org/jira/browse/LOG4J2-354 https://issues.apache.org/jira/browse/LOG4J2-354),Log4j 团队建议您使用 RollingRandomAccessFile 进行翻转,并避免使用 unix logrotate 实用程序。显然 FileAppender 可以与 logrotate 结合使用 - 我们还没有听说任何问题。 (由于问题已经提到了两个附加程序的 Rolling... 变体,因此您已经在做正确的事情,我只是认为我应该提到它。)

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

log4j2配置中RollingFile和RollingRandomAccessFile有什么区别 的相关文章

  • Log4j2 SyslogAppender 不工作

    我正在使用 Log4j 版本 2 1 最新的稳定版本 并尝试使用 Syslog 附加程序来记录到 syslog 服务器 我正在使用他们官方网站上给出的配置 http logging apache org log4j 2 x manual a
  • 过滤掉 Log4j2 文件中的 Hibernate 日志

    我有一个log4j2 xml文件如下 它正在工作 但它获取了大量 Hibernate 和 GWT 日志文件 如何排除这些包 或者如何让我的日志文件仅包含包层次结构中的日志记录
  • Log4j2 找不到我的配置文件

    我正在尝试设置 SLF4J 以与 Log4J2 一起使用 但我不断收到此错误 ERROR StatusLogger No log4j2 configuration file found Using default configuration
  • Log4j2/JPA/Hibernate 日志记录不起作用

    我无法使用 log4j2 生成休眠日志消息 它仅记录信息和警告 另一方面 HikariCP 与此配置完美配合 这是 pom xml
  • 如何为log4jdbc配置log4j2.xml?

    有谁知道如何配置 log4j2 xml 文件以使用 log4jdbc 我已经搜索了几个小时 但似乎找不到任何东西 log4jdbc依赖SLF4J http www slf4j org 迄今为止 SLF4J 和 Log4j 2 之间还没有合适
  • 转换 Tomcat 的 log4j.properties 文件以与 Log4j2 一起使用

    我正在尝试将 Tomcat 8 配置为使用 Log4j2 进行日志记录 我找到了这个参考使用Log4j登录Tomcat http tomcat apache org tomcat 8 0 doc logging html Using Log
  • 如何配置log4j2具有两个根级别?

    我想按以下方式配置 log4j2 向 Sentry 报告错误事件 将 INFO 事件报告到日志文件 就像是
  • Log4J2 属性替换 - 默认

    我只是想知道是否有任何方法可以为 LOG4J 中的属性替换提供默认值 我想在 java 系统属性中传递文件路径 然后将其与 env mySystemProperty 一起使用 但是如果开发者忘记设置这个属性怎么办 然后我想在 log4j2
  • 集群部署模式下的 Spark-Submit 将应用程序 ID 获取到控制台

    我陷入了一个需要快速解决的问题 我已经阅读了许多关于 Spark 集群部署模式的帖子和教程 但我对这种方法一无所知 因为我被困了几天 我的用例 我有很多使用 spark2 submit 命令提交的 Spark 作业 提交后我需要在控制台中打
  • log4j2 是否有一个适配器可以在 slf4j 上工作?

    我有一个使用 log4j2 的第三方库 elasticsearch 5 x 我的应用程序使用 slf4j 是否有适用于 log4j 版本 2 的适配器 类似于版本 1 适配器 log4j over slf4j 只是为了澄清 我不想实际使用
  • 在 aws lambda 上使用 Log4J2 进行日志记录 - 未找到类

    我正在尝试使用 Log4J2 日志记录 如 AWS 文档中所述 https docs aws amazon com lambda latest dg java logging html java wt logging using log4j
  • Log4J 1.2 属性配置器 -> Log4J2

    目前 我们的应用程序使用 Log4J 1 2 并使用以下任一方式对其进行配置 File file PropertyConfigurator configure file getAbsolutePath or URL url Property
  • 错误 StatusLogger Log4j2 找不到日志记录实现

    我正在尝试实施log4j 2但它不断抛出以下错误 gt ERROR StatusLogger Log4j2 could not find a logging implementation gt Please add log4j core t
  • 如何使用 log4j2 Commons 日志桥

    我想将 log4j2 Commons Logging Bridge 与 commons 1 2 一起使用 我尝试使用如下内容 import org apache logging log4j jcl LogFactoryImpl public
  • JUL 适配器不适用于 Jersey

    我正在尝试使用七月适配器将 Java Util Logging 委托给 Log4j2 更准确地说 任何使用 JUL 生成日志的第三方库都应该委托给 Log4j2 作为一个简单的练习 我创建了一个使用库的独立应用程序 我创建这个库是为了测试目
  • 如何在 log4j2 中生成标题行

    在 log4j 中 我们有时会创建第二个记录器并向其输出 CSV 数据 作为应用程序的指标监视 与我们用于调试等的普通日志相反 这些数据很容易导入和绘制图表 在旧的 log4j 中 我们通过子类化 PatternLayout 覆盖 head
  • 在 Spark java 应用程序中使用 log4j2

    我正在尝试使用 log4j2我的 Spark 工作中的记录器 基本要求 log4j2 配置位于类路径之外 因此我需要明确指定其位置 当我直接在 IDE 中运行代码而不使用spark submit log4j2效果很好 但是 当我使用以下命令
  • 如何使用 SLF4J 和 Log4j2 记录 FATAL(或任何自定义日志级别)

    我有那些具体的要求 需要能够登录FATAL level 需要使用SLF4J 需要使用Log4j2 现在 这是我的执行 final Logger logger LoggerFactory getLogger HelloWorld class
  • 使用可执行 JAR 时指定 Log4j2 配置文件

    使用可执行 JAR 文件时 我在指定 Log4j2 配置文件位置时遇到问题 如果我将所有 JAR 分开 效果很好 但是当我尝试将它们组合成一个可执行 JAR 文件时 由于某种原因log4j2 xml未从命令行获取文件 我尝试过这两种指定位置
  • Log4j2 自动配置

    我在应用时遇到问题log4j2 xml自动配置正确 我认为这与我的文件夹排列有关 我在用着maven添加 log4j2 库并按如下方式安排我的项目 一个包含所有 通用 类的项目 供我的系统的服务器和客户端使用 另一个 核心 项目 服务器端应

随机推荐

  • Delphi中绝对路径和相对路径的转换

    Delphi中有执行绝对相对路径转换的标准函数吗 例如 基本 路径是 C Projects Project1 相对路径是 Shared somefile pas 绝对路径是 C Projects Shared somefile pas 我正
  • IntelliJ 缩短 Cucumber 测试的命令行 [重复]

    这个问题在这里已经有答案了 我在 IntelliJ 中运行 Cucumber 测试时遇到问题 当我尝试运行功能或场景时 出现以下错误 Error running Feature
  • 列名作为 INSERT 语句中的参数

    我想创建一个存储过程我想在表中插入值的地方 但我不知道我必须在哪个字段中插入值以及在运行时我将决定应将值插入哪个字段 我想做的是 insert into Tablename ColumnName Description values Col
  • 如何实现可写流

    我想将数据从 amazon kinesis 流传输到 s3 日志或 Bunyan 日志 该示例使用文件写入流或标准输出 我将如何实现我自己的可写流 this works var file fs createWriteStream my lo
  • 以编程方式更改 Google 翻译下拉菜单

    在一个网站上 我尝试使用以下代码添加谷歌翻译下拉列表 function googleTranslateElementInit new google translate TranslateElement pageLanguage en goo
  • Facebook“点赞按钮”返回 X-Frame-Options Deny

    我正在尝试在博客的每篇文章上添加一个 Facebook 的 点赞按钮 代码粘贴正确 但我收到此错误 Refused to display https www facebook com undefined plugins like php a
  • 用于 32 位 x86 汇编的 DOS 调试程序

    你们中的许多人可能还记得古老的 DOS 程序 debug 尽管它在很多方面都已经过时 但它的好处之一是 人们可以轻松地找到给定指令的字节序列 而无需经历编写程序 编译 反汇编 检查文件内容等步骤 输入指令 然后转储指令地址 遗憾的是 调试
  • 滚动直到元素可见 iOS UI Automation with Xcode 7

    因此 通过新的 Xcode 更新 Apple 改变了我们进行 UI 测试的方式 在工具中 我们使用java脚本函数 isVisible 来确定我们的目标元素是否可见 我正在尝试在 Objective C 中复制它 但我似乎找不到与之等效的东
  • 管道中的控制台输出:Jenkins

    我创建了一个复杂的管道 在每个阶段我都称之为工作 我想查看 Jenkins 某个阶段中每个作业的控制台输出 如何获得 从构建步骤返回的对象可用于查询日志 如下所示 pipeline agent any stages stage test s
  • 为什么我不能在具有类型参数的特征上添加一揽子实现?

    考虑这两个特征 pub trait Foo fn new arg u32 gt Self pub trait Bar p Foo fn with parameter arg u32 parameter P gt Self 我想添加毯子暗示
  • Push Segue 在 iOS 5 中不起作用

    我对 IOS 非常陌生 我正在使用情节提要功能来创建应用程序 这就是我想要的 我有两个视图控制器 一个 ViewController 和两个 ViewController 我在一个 ViewController 中有一个按钮 O 按住 ct
  • 迭代通过域模型上的 linq 查询返回的对象的属性和值

    我在关系数据库中有一个自定义实体 我已通过域模型将其映射到 CLR 因此 通过使用以下语句 我可以通过域模型上的 LINQ 查询将实体从数据库拉入内存 如下所示 var inspection from i in dbContext New
  • 在 swift 中将 JSON 对象解析为字符串数组

    我有以下 Json 响应 language en textAngle 0 orientation Up regions boundingBox 96 29 244 474 lines boundingBox 96 29 58 12 word
  • 使用字符串/分类特征(变量)进行线性回归分析?

    回归算法似乎正在研究以数字表示的特征 例如 该数据集不包含分类特征 变量 如何对这些数据进行回归并预测价格是非常清楚的 但现在我想对包含分类特征的数据进行回归分析 有5特征 District Condition Material Secur
  • -1 * int.MinValue == int.MinValue??这是一个错误吗?

    在 C 中我看到了 1 int MinValue int MinValue 这是一个错误吗 当我尝试实现搜索树时 它真的把我搞砸了 我最终使用了 int MinValue 1 这样我就可以正确地否定它 这不是一个错误 int MinValu
  • Java在C中的易失性?

    我知道使用volatile在爪哇 即 基于维基百科文章 http en wikipedia org wiki Volatile variable 对易失性对象的读取和写入存在全局顺序 多变的 这意味着每个访问易失性字段的线程 将在继续之前读
  • 如何使用 python/distutils 依赖系统命令?

    我正在寻找最优雅的方式来通知我的库的用户他们需要特定的 unix 命令来确保它能够工作 什么时候是我的库提出错误的最佳时间 安装 当我的应用程序调用命令时 在导入我的库时 both 还有你应该如何检测命令是否丢失 if not comman
  • 查看模板代码标签 - asp.net mvc - regd

    在 asp net MVC 视图引擎上下文中 和 之间有什么区别 在MVC2书中给出如下 代码块在视图模板呈现时执行代码 代码块执行其中包含的代码 然后将结果呈现到模板的输出流 什么时候使用第一个 什么时候使用第二个 这本书几乎是正确的 代
  • findViewById(R.id.content) 和 getRootView() 之间的区别[关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions findViewById R id
  • log4j2配置中RollingFile和RollingRandomAccessFile有什么区别

    在我们当前的实现中 其中一台服务器具有为 RollingRandomAccessFile 和另一个 RollingFile 设置的 log4j2 配置 如果可能的话 我想知道两者之间的区别以及各自的优缺点 Thanks 主要区别在于性能 h