ちゃんと上手いやり方があったじゃないか…
このクラスのconfigureメソッドを使えば、
任意のプロパティをキーとして設定できます。
副作用は…無いといいなぁ…
public class Log4jDomConfigurator extends DOMConfigurator { private Properties propertiesField = null; public synchronized Properties getProperties() { return propertiesField; } public synchronized void setProperties(final Properties properties) { propertiesField = properties; } @Override protected String subst(final String value) { return super.subst(value, getProperties()); } public static void configure(final String filename) { new Log4jDomConfigurator().doConfigure( filename, LogManager.getLoggerRepository()); } public static void configure( final String filename, final Properties properties) { Log4jDomConfigurator configurator = new Log4jDomConfigurator(); configurator.setProperties(properties); configurator.doConfigure( filename, LogManager.getLoggerRepository()); } }
0 件のコメント:
コメントを投稿