Я использую 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}
Каков наилучший способ сделать это?
Если вы используете XML-конфигурацию, то есть файл log4j.xml
, это будет иметь более высокий приоритет над любым файлом log4j.properties
который существует в любой библиотеке.
Но если вам нужен файл свойств, добавьте аргумент в виртуальную машину Java, например:
java -Dlog4j.configuration=file:/tmp/log4j.properties KillerApp
Согласитесь с использованием log4j.xml.
Структура cloure Luminus имеет хорошую настройку по умолчанию для использования log4j. Строго поощряйте лень и рекомендуйте взглянуть на это для одного из способов обработки log4j в проектах clojure.