我正在使用log4j2进行一个项目,我的log4j2中有一些值。可配置的属性。该项目还将包括其他组件的配置文件。理想情况下,我希望将所有配置保存在一个地方,以便能够在同一个文件中为log4j设置那些可配置的值,这样我就不会有两个不同的地方更改配置值(例如,包括环境变量)。
我在这方面找到的方法并不理想,比如让我的项目的其他部分从主配置文件中读取值,并将它们放入系统变量中,由log4j获取,因为我希望避免编写代码,在log4j自身的属性文件之外设置log4j。
有没有办法直接引用log4j2.properties?中其他属性文件中定义的值如果没有,这可能在log4j2可以使用的配置文件格式之一,如XML或JSON?
为了澄清,我知道log4j2中提供的各种查找方法,但由于我将这些值存储在不同的文件中,因此没有一种方法比直接引用该文件更“干净”。
Log4j2配置有一个属性部分,如果事先知道所有键,您可以从另一个查找中获取每个值,例如系统属性查找或自定义查找。
建议从外部属性文件中获取Log4j2配置属性,作为Log4j2 JIRA问题跟踪器上的新功能请求。
我试图配置Tomcat 8使用Log4j2进行日志记录。 我找到了使用Log4j登录Tomcat的参考资料。它提供了一个示例log4j。将Log4j配置为与Tomcat的内部日志匹配的属性文件。对于Log4j2来说,大部分转换看起来非常简单,但最后将记录器映射到appender的部分让我感到困惑: 是否有人将此配置转换为使用Log4j2?我一直在使用Log4j2配置文档,并且已经阅读了Log4j2
我只是想知道有没有什么方法可以为log4j中的属性替换提供默认值呢? 我想在Java系统属性中传递文件路径,然后与“${env:MySystemProperty}”一起使用。但如果开发人员忘记设置此属性怎么办?那么我希望在log4j2.xml中定义一些有意义的默认值。 你知道如何实现这个功能吗? 编辑: 环境替换对我不起作用: standalone.conf log4j2.xml 我可以在wild
我创建了一个自定义追加器,但在运行测试时没有调用它。以下是这些属性的外观: 我的appender被称为WindowsEventLogappender。知道我的档案有什么问题吗?我看到了控制台测试消息,但没有看到来自我的appender的消息。现在我只是在我的自定义追加器中做一个system.out.println来验证它是否被调用。
问题内容: 看看我的“ file.properties”: 为什么当我得到“ key2”的值时,我的结果是“ $ {key1} Martin!”。不像“我叫马丁!” => 我使用Java 6编程=>我使用java.util.Properties 问题答案: 您可能需要查看Apache配置, http://commons.apache.org/configuration/ 它支持的许多功能包括变量插
问题内容: 我为该标题表示歉意。我找不到更好的方法来解释这种情况。 我使用URL http://www.exampledepot.com/egs/java.util/Props.html中所述的Property类加载属性文件。 我的问题是我可以在该属性文件中使用属性吗? 例: test.properties 其他语法有可能吗? 谢谢 问题答案: 以前从未见过。您当然 可以 制作自己的预处理器。只要
我需要使用属性名称替换xml文件中的属性值。 前任: 我有一个替换此值的目标。i、 e“默认值”。如果用户为属性测试名称指定了错误的值,则可以多次运行此目标。用户可以使用正确的值重试运行目标。因此,我不能使用正则表达式替换。我只能依靠物业名称。有没有一种方法可以在ant中使用属性值的名称来替换属性值?