【问题标题】:Maximum File Size - supported in log4j FileAppender最大文件大小 - 在 log4j FileAppender 中支持
【发布时间】:2013-08-07 15:40:03
【问题描述】:

我需要将审核信息存储在 TEXT 文件中。我打算用Apache Log4j写审计信息。

似乎是可靠的选择。但是,我应该能够写审计信息即使文件大小达到 3GB。

log4j 是否支持 GigaBytes 的文件大小?

或者有一个快速问题,Log4j 可以支持MaximumFileSize 是什么。

注意: 我无法使用 RollingFileAppender 或 DailyFileAppender,我需要将信息记录在仅在一个文本文件中,其中一些其他组件正在读取此文件内容并执行一些过程。

【问题讨论】:

  • 我有一个长期运行的工作,编写一个 7gb 的日志文件,该文件是快速压缩的。解压后是一个 63gb 的日志文件。打开它有点棘手。文件系统对文件大小的限制应该是 FileAppender 日志中唯一的实际障碍。所以这取决于。某些 FS 为 256 TB。

标签: file file-io log4j log4j2 fileappender


【解决方案1】:

默认情况下,最大文件大小为10MB(如果您没有明确提及)。如果您明确定义,您可以定义高达GB(甚至1000GB)的任何值。但是想想,当你打开这个文件时,你的机器上一定有等量的RAM。所以你必须在选择file size之前考虑到这一点。 这里是一个例子

# Direct log messages to a log file
log4j.appender.file=org.apache.log4j.RollingFileAppender
log4j.appender.file.File=logging.log
log4j.appender.file.MaxFileSize=100GB
log4j.appender.file.MaxBackupIndex=1
log4j.appender.file.layout=org.apache.log4j.PatternLayout
log4j.appender.file.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n

FileAppender 不包含任何设置文件大小的字段。但它的子类RollingFileAppenderDailyFileAppender 包含。

【讨论】:

  • 感谢您的 cmets。正如您所提到的,Log4j FileAppender 中的哪个属性(字段)拥有这个 maximumFileSize 值?该字段的数据类型会保留这些大值吗?
  • 接受您关于打开文件的观点应该支持 RAM 大小。但是,仍然对这个大小值在 FileAppender 中的绑定方式感到困惑。
  • 我想,你应该去database logging。实际上,FileAppender 不包含任何此类大小字段。但是它们的子类RollingFileAppenderDailyFileAppender 包含。更多,可以参考link
  • 限制单个日志文件的大小是否会产生负面影响?似乎一旦达到限制,每次写入文件时都必须主动管理大小。
  • 如果您使用的工具不会加载整个文件,只是为了向您显示屏幕上适合的任何行,您可以打开一个大于内存的文件。有很多,但 vi 有,emeditor.com/text-editor-features/large-file-support/…
猜你喜欢
  • 1970-01-01
  • 2019-04-14
  • 1970-01-01
  • 2016-12-16
  • 2016-01-07
  • 2014-03-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多