当前位置: 首页 > 知识库问答 >
问题:

每周使用log4j2创建zip文件

令狐增
2023-03-14

我使用log4j2在文本文件中记录用户活动。现在我想创建一个用户活动的zip文件。但我想这样。我创建了一个日常用户日志活动的文本文件。所以我有七个7天的文本文件。第8天文本文件创建七天后,第一天文本文件应转换为zip文件。所以,当第8天文本文件创建时,像第一天文本文件这样的预期行为应该是zip文件,其他第2到第8天文本文件应该是文本格式。

========================================================================

实际结果是这样的。

1. dhiren-audit-2019-07-22.log / text file
2. dhiren-audit-2019-07-23.log / text file
3. dhiren-audit-2019-07-24.log / text file
4. dhiren-audit-2019-07-25.log / text file
5. dhiren-audit-2019-07-26.log / text file
6. dhiren-audit-2019-07-27.log / text file
7. dhiren-audit-2019-07-28.log / text file
8. dhiren-audit-2019-07-29.log / text file

但我希望得到这样的结果。

1. dhiren-audit-2019-07-22.log.gz / Zip file
2. dhiren-audit-2019-07-23.log / text file
3. dhiren-audit-2019-07-24.log / text file
4. dhiren-audit-2019-07-25.log / text file
5. dhiren-audit-2019-07-26.log / text file
6. dhiren-audit-2019-07-27.log / text file
7. dhiren-audit-2019-07-28.log / text file
8. dhiren-audit-2019-07-29.log / text file

共有2个答案

笪烨
2023-03-14

一般来说,我更喜欢log4j2来决定滚动。关于归档或备份日志,我正在利用操作系统的批处理脚本和cron功能。

Log4j2为滚动日志提供了丰富的调整。手册页面包括详细说明和示例。检查手册页是明智的。

我认为你可以通过从我从手册页面上引用的例子开始实现你所需要的:

下面是一个示例配置,它使用了基于时间和大小的触发策略RollingFileAppender,将在同一天(1-7)创建最多7个存档,这些存档存储在基于当前年份和月份的目录中,并将压缩每个存档使用gzip:

Sample configuration XML

以下是使用RollingFileAppender和基于时间和大小的触发策略的示例配置,将在同一天(1-7)创建最多7个存档,这些存档存储在基于当前年份和月份的目录中,并将使用gzip压缩每个存档,当小时可被6整除时,将每6小时滚动一次:

Sample configuration XML

请看以下页面:http://logging.apache.org/log4j/2.x/manual/appenders.html#RolloverStrategies

上官淮晨
2023-03-14

您可以使用滚动文件附加程序来确保每天都使用新的日志文件。关于将旧的日志文件转换为zip-不确定日志框架是否提供了它,但这可以通过计划的工作轻松完成

 类似资料:
  • 问题内容: 我正在尝试将 文件 从 一个文件夹 保存到 另一个 文件夹 。 zip文件夹 放置在其他目录中。而且我编写了以下代码: archive.php 但是可惜我无法创建.zip文件夹。我错过了任何一步吗? 问题答案: TEST是您的项目文件夹名称。 您可以根据需要定义路径。

  • 如何在Pharo中创建zip文件并将其写入磁盘? 同样,/也是不可用的,因为该实现只能在实际磁盘上工作,而不能在内存中工作。 那么,是否有其他方法(或外部库),我可以压缩我的数据,而不需要转储所有文件到磁盘,压缩到那里,并读取最后的文件回来?

  • Log4j2 createondemand=“true”不允许每天创建新文件,尽管使用了带有TimeBasedTriggeringPolicy的RollingFile附加器。 下面是我的log4j2.xml文件。我有两个附加程序,一个用于所有日志,另一个用于自定义目的,它只需要按需生成,但是createOnDemand覆盖了日志的滚动性质,并且不允许为自定义日志创建新的日志文件。

  • 问题内容: 如果我选择一个zip文件,然后右键单击“在此处提取”,则会创建一个包含zip文件名的文件夹,并将zip文件的全部内容提取到其中。 但是,我想通过外壳转换几个zip文件。但是当我这样做 该文件夹未创建,但所有文件都提取到当前目录中。 我看过参数,但是没有这样的参数。我也试过 但是2. $ zipfile和4. $ zipfile 的扩展名必须使用sed删除。如果我做 它不起作用。 如何正

  • 我正在使用java创建一个zip文件,但我无法得到任何代码工作。我尝试了很多特定于Java7和Java8的方法,但所有的方法都显示出某种错误,是我的代码中有错误还是需要改进? 在这一行出现错误 请指导我:) 运行时出错:

  • 问题内容: 这是我用来创建带有密码的文件的代码 但是它设置密码而不是密码,符号将被忽略。为什么? 问题答案: ^字符是命令外壳程序中的转义字符。尝试加倍。