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

log4j2.properties每天的展期行不通

洪俊拔
2023-03-14

我想通过以下方式更改ElasticSearch的log4j2配置。ElasticSearch中的日志应保存在以下目录中:/path/to/log/{year}/{month}/{day}/cluster\u name。日志但基于时间的触发策略仅在一天结束后进行滚动。我一直在尝试使用TimeBasedRollingPolicy,但无法通过*进行配置。属性文件。我重写了整个log4j2。属性设置为log4j2。xml文件,但ElasticSearch需要log4j2。财产。最后,我决定放弃将letter day的日志记录到适当的目录中。我返回到TimeBasedTriggeringPolicy,并使用此文件模式/path/to/log/%d{yyyy/MM/dd}/cluster\u name。日志,但仍然不起作用。

配置文件的较大部分:

appender.rolling.type = RollingFile
appender.rolling.name = rolling
appender.rolling.fileName = /path/to/log/cluster_name.log
appender.rolling.layout.type = PatternLayout
appender.rolling.layout.pattern = [%d{ISO8601}][%-5p][%-25c{1.}] %marker%.-10000m%n
appender.rolling.filePattern = /path/to/log/%d{yyyy/MM/dd}/cluster_name.log
appender.rolling.policies.type = Policies
appender.rolling.policies.time.type = TimeBasedTriggeringPolicy
appender.rolling.policies.time.interval = 1
appender.rolling.policies.time.modulate = true

共有1个答案

吕华彩
2023-03-14

我认为%d{yyyy/MM/dd}模式将创建名为2017/09/19的目录,这是无效的目录名。这就是为什么它不起作用。

请尝试下面的filePattern-

appender.rolling.filePattern = /path/to/log/$${date:yyyy}/$${date:MM}/$${date:dd}/cluster_name_%d{yyyy-MM-dd}.log

它会像下面这样旋转日志文件-

/path/to/log/{year}/{month}/{day}/cluster_name{date}。日志

在文件名中给出日期是强制性的。没有这个,可能就不行了。

 类似资料:
  • 如何在propterties文件中的log4j2中创建keyvaluepair? 我知道在log4j Version1中是这样做的: ?

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

  • 问题内容: 我有一个有趣的查询需要做。我有一张表,其中有一列包含ip地址编号(使用)和一列。我希望能够计算每天有唯一IP地址列的数量。也就是说,每天有多少个不同的ip行。因此,例如,如果一个IP地址在同一天两次,则在最终计数中将计为1;但是,如果同一IP地址在另一天,则将被计算为第二个计数。 示例数据: 问题答案: SQLFiddle演示

  • 介绍 对于Properties的广泛使用使我也无能为力,有时候遇到Properties文件又想方便的读写也不容易,于是对Properties做了简单的封装,提供了方便的构造方法(与Setting一致),并提供了与Setting一致的getXXX方法来扩展Properties类,Props类继承自Properties,所以可以兼容Properties类。 使用 Props的使用方法和Properti

  • 我是春靴的新手。我有一个跑步Spring靴项目。我想使用log4j2(由于项目限制,我必须使用log4j2本身)将不同级别的所有日志重定向到一个名为'test.log'的日志文件。 ---我的测试API的控制器也有以下测试日志行: ---在我的理解中,我已经在代码中包含了所有必需的内容。但是我面临着这个问题--当我使用API时,只有hibernate调试记录器被添加到test.log中;我在con

  • 我想创建一个目录{date}。在这个目录中,我需要在一个新的单独文件0000中记录每小时的日志。日志,0100。日志2300.log。 我使用了滚动文件appender,但它只能创建一个日志文件并压缩最后一个日志文件。我使用的是间隔为1的基于时间的触发策略,它每天给我一个新文件,并压缩最后一天的文件。 我想创建一个名为linpub-{date}的新文件。在文件中,每小时应该有一个日志文件。 我使用