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

我无法使用多个条件配置log4j2属性文件

笪昌翰
2023-03-14

我是Elasticsearch用户,我必须使用log4j2.properties文件。不幸的是,我不能让它像我想要的那样删除日志。

    null

我尝试使用路径条件“ifany”,在这篇log4j2文档中进行了描述:https://logging.apache.org/log4j/2.x/manual/appenders.html

下面是我的log4j2.properties文件:

status = error

# log action execution errors for easier debugging
logger.action.name = org.elasticsearch.action
logger.action.level = debug

appender.console.type = Console
appender.console.name = console
appender.console.layout.type = PatternLayout
appender.console.layout.pattern = [%d{ISO8601}][%-5p][%-25c{1.}] %marker%m%n

appender.rolling.type = RollingFile
appender.rolling.name = rolling
appender.rolling.fileName = ${sys:es.logs}.log
appender.rolling.layout.type = PatternLayout
appender.rolling.layout.pattern = [%d{ISO8601}][%-5p][%-25c{1.}] %marker%.-10000m%n
appender.rolling.filePattern = ${sys:es.logs}-%d{yyyy-MM-dd}.log
appender.rolling.policies.type = Policies
appender.rolling.policies.time.type = TimeBasedTriggeringPolicy
appender.rolling.policies.time.interval = 1
appender.rolling.policies.time.modulate = true
appender.rolling.strategy.type = DefaultRolloverStrategy
appender.rolling.strategy.action.type = Delete
appender.rolling.strategy.action.basepath = /var/log/elasticsearch
appender.rolling.strategy.action.condition.type = IfFileName
appender.rolling.strategy.action.condition.glob = mylog-*.log
appender.rolling.strategy.action.PathConditions.type = IfAny
appender.rolling.strategy.action.PathConditions.nestedConditions.type = IfLastModified
appender.rolling.strategy.action.PathConditions.nestedConditions.age = 90D
appender.rolling.strategy.action.PathConditions.nestedConditions.type = IfAccumulatedFileSize
appender.rolling.strategy.action.PathConditions.nestedConditions.exceeds = 200M

当前,当我重新启动log4j2时,收到错误消息:

共有1个答案

墨高杰
2023-03-14

正在尝试更改DeleteAction的配置,如下所示-

appender.rolling.strategy.type = DefaultRolloverStrategy
appender.rolling.strategy.action.type = Delete
appender.rolling.strategy.action.basepath = /var/log/elasticsearch
appender.rolling.strategy.action.maxDepth = 1
appender.rolling.strategy.action.condition.type = IfFileName
appender.rolling.strategy.action.condition.glob = mylog-*.log
appender.rolling.strategy.action.ifAny.type = IfAny
appender.rolling.strategy.action.ifAny.ifLastModified.type = IfLastModified
appender.rolling.strategy.action.ifAny.ifLastModified.age = 90d
appender.rolling.strategy.action.ifAny.ifAccumulatedFileSize.type = IfAccumulatedFileSize
appender.rolling.strategy.action.ifAny.ifAccumulatedFileSize.exceeds = 200MB

您还可以参考log4j2文档来配置多个条件。log4j2文档描述XML配置。但是,通过参考这些示例,您还可以思考和猜测属性配置。

 类似资料:
  • 问题内容: 似乎log4j试图通过XML解析器解析.json配置文件,但是为什么呢? 我通过命令行参数设置log4j配置文件: 文件内容: 我得到的是: 我的lib文件夹中的Jar: hamcrest-junit-2.0.0.0.jar jackson-annotations-2.6.1.jar Jackson core-2.6.1.jar jackson-databind-2.6.1.jar j

  • 如何在中添加以下字段。log4j2的属性配置文件? log4j。阿佩德。最高可用性构架。MaxFileSize=50MB log4j。阿佩德。最高可用性构架。MaxBackupIndex=100

  • 寻找在Springboot应用程序中配置多个配置文件特定属性文件的最佳方法。下面是一个例子: -资源  · --application.properties  · · · · · --德夫             --application-dev.properties             --ldap-dev.properties             --Quartz-Dev.Prope

  • 我们使用的是Spring boot。我们有三个环境、、。我们当前的配置结构 开发 同样,对于每个环境,我们都有一个yml和属性文件。经过一年的开发,现在配置文件的单个yml文件变成了一个大型单片配置文件。 对于下面这样的配置文件,可以有多个配置文件吗?

  • 我正在尝试在我的Geb框架中设置log4j2。就我的一生而言,我不知道如何把这些结合起来。我有一个log4j2。使用记录器“Selenium”设置xml(不是log4j.xml)文件。在DefaultPage中,我尝试从配置文件。 log4j2.xml DefaultPage.groovy 测试执行并将输出写入STDERR,这是预期的,因为我有记录器。错误但是,它不支持日期的格式。此外,我还使用其

  • 上面是log4j2的一个片段。xml配置文件,我想将其转换为属性。 问题是当我在同一个文件(属性)中定义多个记录器时,只有根记录器工作,这意味着改变其他记录器的级别不会做任何事情。 在同一个属性配置文件中定义多个记录器的正确方法是什么? 编辑: 这是我尝试过的属性配置,但不起作用。