如何覆盖所有导入的Java库的log4j属性?

时间:2014-11-26 21:08:38

标签: java clojure log4j

我正在使用Clojure,但我认为这与问题无关。我想覆盖所有导入库的log4j属性,并且具有完全相同的格式。现在它看起来像这样:

2014-11-26 19:37:19.399 INFO net.spy.memcached.auth.AuthThread:  Authenticated to ae-couchbase10/10.52.61.37:11210
INFO: {:thread-name async-dispatch-2, :first_id batch::test::dev::934ebce6-b78d-4f7c-b297-f636cbfeca0c::8307a507-7deb-40dc-811a-b339148472e7, :time 171.587344, :perf 5.967806110455326}

这样做的最佳方式是什么?

2 个答案:

答案 0 :(得分:2)

如果您使用基于XML的配置,即 log4j.xml 文件,则其优先级高于任何库中存在的任何log4j.properties文件。

但是如果需要属性文件,请向Java虚拟机添加一个参数,例如:

java -Dlog4j.configuration=file:/tmp/log4j.properties KillerApp

答案 1 :(得分:0)

同意他使用log4j.xml。

cloure Luminus框架有一个很好的使用log4j的默认设置。强烈鼓励懒惰并建议看一下在clojure项目中处理log4j设置的一种方法。