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

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

颜嘉福
2023-03-14

我刚刚使用一个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:

替换实际路径有效,例如。,

<代码>

我被捆绑语法的正确域部分所困扰——myapp.net不是真正的网站,但它足够相似。我已经尝试了几十种变体,但是在调试模式下java.util.ResourceBundle在log4j2初始化时永远找不到fileers属性文件。手动示例是com.domain.messages,所以我很困惑为什么net.myapp.filedirs不起作用。

共有1个答案

司空兴为
2023-03-14

正如我在评论中指出的,事实证明它确实有效,但手册可能不正确。不是这里所描述的com.domain.messages,而是属性替换,有效的只是消息,例如,

我不知道这是否有什么不同,但我正在我的电脑上通过STS(localhost)进行测试——留档是否可能对生产网站是正确的?不知道,因为我还没有生产部署,但当我启动并运行它时,我会检查一下。

 类似资料:
  • 我有一个使用log4j的java应用程序,配置如下。 log4j.properties 我想使用与上面相同的配置迁移到log4j2。尚未找到任何与log4j2属性配置文件相关的内容,因为最近包含了此支持。 谁能帮我弄清楚我的log4j2怎么样。属性文件是否具有上述相同的配置?

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

  • 问题内容: 我在这里阅读了一些有关如何从Maven插件设置属性的问题(大多数问题涉及应用程序的版本号)。似乎没有简单的方法可以做到这一点,我发现最好的解决方案是拥有一个filter.properties文件,该文件从插件进行更新,并由主pom文件用来过滤所需的资源。 从Maven文档(Maven过滤器插件)中阅读以下内容后,我尝试了另一种解决方案: 变量可以包含在您的资源中。这些变量用$ {…}分

  • Section " SetFileAttributes" SetFileAttributes "C:\demo" HIDDEN ;设置文件夹属性为隐藏 SetFileAttributes "C:\demo\demo.txt" HIDDEN|READONLY ;设置文件属性为隐藏,只读 SetFileAttributes "C:\demo\demo.txt" NORMAL ;恢复

  • 尝试使用spring绑定属性文件中的int值 它也不起作用。 请建议什么是使它工作的方法。

  • 根据Log4j 2手册: LoggerConfig(包括根LoggerConfig)可以配置属性,这些属性将添加到从ThreadContextMap复制的属性中。这些属性可以从应用程序、筛选器、布局等中引用,就像它们是线程上下文映射的一部分一样。 但是,我找不到怎么做。我尝试了以下方法: 使用此配置,ThreadContextMap将不会有任何“关注”键,并且状态记录器将输出: 尝试将属性属性属性