Użyj właściwości systemowych OR zmiennych w log4j

Chcę to zrobić tak:

<appender name="ErrorLog" class="org.apache.log4j.FileAppender">
        <param name="File" value="${error.log.path}"/>
        <param name="Append" value="true" />
        <param name="Threshold" value="ERROR"/>
        <layout class="org.apache.log4j.PatternLayout">
            <param name="ConversionPattern" value="%C{1} %L [%t] %d{dd MMM,yyyy HH:mm:ss.SSS} %-5p - %m%n" />
        </layout>
    </appender>

Zauważ tę linię:<param name="File" value="${error.log.path}"/>

Próbowałem ustawić takie wartości:

public static void main(String[] args) {
     System.setProperty("error.log.path", "/test/crm/log/error.log");
     ApplicationContext context = new ClassPathXmlApplicationContext("blah.xml");
     ..........
     .......... 
  }

Ale nie widzę żadnego efektu.

Czy log4j zostanie skonfigurowany przed wywołaniemmain metoda?

Czy jest inny sposób, aby to zrobić?

questionAnswers(4)

yourAnswerToTheQuestion