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

Log4j2禁用基于属性的追加

潘英豪
2023-03-14

>

  • 如何以编程方式从log4j2中的记录器中删除appender?-即使我删除appender,它仍然发送日志

    如何根据java系统属性有条件地添加log4j2附加器? elasticsearchasyncbatch”level=“${sys:loglevel:-all}”/">-appender忽略通过:export log_level=off从命令行传递变量,并始终使用默认值,在本例中均为如此。脚本解决方案也有同样的问题

    -level属性不接受动态值,并引发无法将“${sys:loglevel}”强制转换为级别枚举的错误

    Log4j版本2.11.2

  • 共有1个答案

    东方旭东
    2023-03-14

    从您提供的信息来看,选项1的问题并不清楚。你是怎么移除附加器的?您不能仅仅从配置中删除它,因为所有已配置的记录器仍将指向它。您必须首先修改所有已配置的记录器附加器引用,以指向不同的附加器。

    对于解决方案2,您指定了${sys:loglevel:-all},但随后尝试通过环境变量设置其值。您需要使用-dloglevel=debug启动应用程序,才能使其正常工作。或者,您可以指定${env:log_level:-all}并使用您设置的环境变量。

    我希望解决方案3与解决方案2是相同的问题。由于您没有指定默认值,当它找不到loglevel系统属性时,它只是将自身返回为字符串,这显然是一个无效值。

     类似资料:
    • 下面的log4j2配置无法删除我的旧文件。 我的日志文件是按照基于时间和基于大小的策略正确生成的,但我不明白为什么不删除这些文件。一切似乎都是正确的,我的日志中没有错误。 我没有前导或尾随空格。 我已经浪费了很多时间来调试这个。官方的log4j2文档很糟糕,因为它没有给出基于java属性的配置示例。 有没有办法解决这个问题? 谢啦

    • 我正在使用JavaFX属性的模型实体consitiing witch允许我更改单个位置上的值,将它们绑定到UI,并在模型实体数组中添加带有额外条件的更改的监听器(惟一值等)。 我必须将模型存储在数据库中,所以问题如下: 注意:一些可绑定属性根本不必持久化。

    • 但是房产没有被选中。例如,下面的代码创建一个${log-path}文件夹来存储日志文件,而不是所需的logs文件夹。 我做错了什么?

    • 我需要测试我的应用程序的一些功能,只是一个先前选择的用户组。 我创建了一个访问群体,其中。是我自己的ID。 问题是,每次值从Firebase返回时,它都是,我无法使它返回与我创建的受众匹配的正确值。我还尝试设置用户属性,而不是使用,得到了相同的结果。有什么建议吗?

    • 我如何使用“insref”和“pref”对下面的元素进行分组,我在xslt版本1中使用了生成密钥id。 期望的结果: 这是我所拥有的。我也在使用密钥生成函数。任何想法这个xslt有什么问题。至于计数,我正在考虑获得唯一的密钥计数。

    • 我是XSLT新手,希望能得到一些帮助。 我目前有一个XML,它包含以下格式的多个副本: 我的任务是替换id属性的值。我需要根据代码的数字部分改变这个值。如果值大于850000,格式应该改为USA868509。如果该值小于850000,则将id值更改为仅包括数字。XML中的其余值应保持完全相同。 我目前拥有以下xslt: 我很难确定要更改的值,因为XSLT不执行变量循环。有没有办法更改XSLT以获得