【问题标题】:How to get log file name form my application. properties file如何从我的应用程序中获取日志文件名。属性文件
【发布时间】:2013-03-06 05:11:13
【问题描述】:

以下是文件:

application.properties

log.name.error=error.log
log.name.warn=warning.log

log4j.xml

<appender name="allLog" class="org.apache.log4j.DailyRollingFileAppender">
    <param name="File" value="../Framework/logs/log.log" />
    <param name="DatePattern" value="'.'yyyy-MM-dd"/>
    <layout class="org.apache.log4j.PatternLayout">
        <param name="ConversionPattern" value="%-5p - %m%n [%c:%M] (%F:%L)%n" />
    </layout>
</appender>

我不想硬编码文件名 (log.log),而是想从 application.properties 文件中获取文件名。

【问题讨论】:

  • 你在用spring mvc吗?
  • 我也面临同样的问题。我正在使用弹簧框架。我在 xyz.properties 文件中定义了动态值,并在 spring.xml 中指定了 xyz.properties 文件。我的问题是,我做对了吗? log4j.xml 会从 .properties 文件中选择值吗?

标签: java log4j


【解决方案1】:

如果您的properties 文件被加载到classpath,那么您可以使用属性占位符来访问它。

<param name="File" value="../Framework/logs/${log.name.error}" /> <!-- ${property placeholder} -->

【讨论】:

  • 我试过了,但它没有创建日志文件,给出异常 FileNotFoundException
  • 它是我的 java 应用程序,有 Resources.Properties 包,它包含我的 application.properties 文件,我已将我的日志文件名作为值放入其中,我只是希望在记录任何内容时读取表单属性文件并将该文件名放入 log4j.xml 文件中
猜你喜欢
  • 2016-12-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-09-30
  • 1970-01-01
  • 1970-01-01
  • 2020-11-01
  • 1970-01-01
相关资源
最近更新 更多