有人可以告诉我是否可以通过log4j.xml
或log4j.properties
将数组或列表传递给log4j appender属性?
我想通过log4j.xml
或log4j.properties
private List<String> validPackages;
public List<String> getValidPackages() {
return buildVersionFile;
}
public void setValidPackages(List<String> validPackages) {
this.validPackages = validPackages
}
答案 0 :(得分:0)
正如log4j mailing list中所讨论的,我们不能只传递log4j中的属性。我们必须实现一个插件
我没有对此进行测试,但是从插件文档&lt; http://logging.apache.org/log4j/2.x/manual/plugins.html&gt;,如果你做的话 一个实现Collection的插件,然后你可以自动完成 将其子项转换为该集合。但是,在那个用例中, 你需要为validPackages列表另一个插件元素 一个普通的字符串。
没有用于数组的内置TypeConverter(除了byte []和 char [],无论如何都有特殊意义),所以另一种选择 将为Collection或类似添加TypeConverter, 虽然在那个时候通过泛化泛型来获得更一般的收藏 使用将成为IMO沮丧的运动。