2016-04-02 4 views
0

、リソースフォルダ内のlog4j.xmlがあり、log4j.xmlの変数をlog4jで解決する方法は?私<code>maven</code> Webプロジェクトで

<appender name="App" class="org.apache.log4j.DailyRollingFileAppender"> 
    <param name="File" value="${merchant.log.dir}/sys.log" /> 
    <layout class="org.apache.log4j.PatternLayout"> 
     <param name="ConversionPattern" value="%d - %c -%-4r [%t] %-5p %x - %m%n" /> 
    </layout> 
    </appender> 

とルートディレクトリにapplication.properties

ls 
application.properties pom.xml src target 

このapplication.propertiesファイルでありは

このキーの値を持っています
merchant.log.dir=/foo/logs/merchant 

およびpom.xml

 <filters> 
      <filter>application.properties</filter> 
     </filters> 
     <resources> 
     <resource> 
      <directory>src/main/resources</directory> 
      <filtering>true</filtering> 
     </resource> 
     </resources> 

私はこのプロジェクトの使用jettyを始めたとき、それは私がlog4j.xmlが正常​​を解決できる方法は非常に困惑している例外

java.io.FileNotFoundException: /foo/logs/merchant/sys.log (No such file or directory) 

の下に出力? log4jはこの作業自体を行いますか? pom.xml

に一部の下にコメントした後/foo/logs/merchant

+0

POMを投稿できますか?私の推測では、リソースがフィルタリングされているということです。 ' ... true'が表示されます。 – Tunaki

+0

@屯akiはい、そうですよ! – zhuguowei

答えて

0

で​​を交換するよりも、または桟橋は、最初は、出力ファイルは/sys.logで、プロジェクトを開始しpom.xmlをお読みください。したがって、埠頭が始まるときには、​​をmerchant.log.dirの値に置き換えてapplication.propertiesに置き換えなければなりません。

ところでpom.xmlを変更した後は、maven --> Update Projectを明示的に実行する必要があります。無効にしても効果はありません。

関連する問題