gpt4 book ai didi

java - log4j2 - 从属性问题设置文件路径

转载 作者:行者123 更新时间:2023-12-01 10:25:11 31 4
gpt4 key购买 nike

我刚刚使用 xml 配置文件从 log4j 转换为 log4j2。一切正常,除了我似乎无法使用属性文件设置日志文件的路径。

这是一个 Spring MVC 应用程序,我有一个 filedirs.properties文件位于 src/main/resources文件夹以及 log4j2.xml、i18n 消息和其他属性文件。它有一个简单的条目:logs=G:/web/logs/ .` 我浏览了其他帖子,只是不知道如何正确配置 log4j2。这是我所拥有的:

<Configuration>
<Properties>
<Property name="filename">${bundle:net.myapp.filedirs:logs}standard.log</Property>
</Properties>
<File name="stdLog" fileName="${filename}" ignoreExceptions="false">
<PatternLayout pattern="%d{DEFAULT} %-5p: %c - %m%n"/>
</File>
...rest of config...

错误是这样的:

ERROR FileManager (${bundle:net.myapp.filedir:logs}standard.log) java.io.FileNotFoundException:

替换实际路径即可,例如,

<Property name="filename">g:/web/logs/standard.log</Property>

我对捆绑语法的正确域部分很感兴趣 - myapp.net 不是实际的网站,但它足够相似。我尝试了几十种变体,但在 Debug模式下,java.util.ResourceBundle 在进行 log4j2 初始化时从未找到 filedirs 属性文件。手册样本为com.domain.messages所以我很困惑为什么 net.myapp.filedirs不起作用。

最佳答案

正如我在评论中指出的,事实证明它确实有效,但手册可能不正确。而不是com.domain.messages如此处所述,Property Substitution ,有效的方法很简单 messages ,例如 <Property name="filename">${bundle:filedir:logs}standard.log</Property> 。添加status=debug<Configuration>终于帮我解决了这个问题。

我不知道这是否有任何区别,但我正在我的 PC 上通过 STS ( localhost ) 进行测试 - 对于生产网站来说,文档是否可能是正确的?不知道,因为我还没有生产部署,但当我启动并运行它时我会检查它。

关于java - log4j2 - 从属性问题设置文件路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35386080/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com