ちゃんと上手いやり方があったじゃないか…
このクラスの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 件のコメント:
コメントを投稿