2010-05-24 2 views
1

Я использую log4j как регистратор для своего веб-приложения. в log4j я могу установить журнал уровня в свойствах log4j или log4j.xml. в log4j, мы экземпляр регистратора следующим образом:Задать основной конфигуратор в Apache Commong Log

static Logger logger = Logger.getLogger(SomeClass.class); 

Я инициализировать log4j основной конфигуратор в servlet file using init method. Но, я обычно тестирую приложение using JUnit, поэтому я начинаю basic configurator in setup method. после этого я тестирую приложение, и я вижу журнал.

Потому что я развернул, сеть в websphere. Я изменяю все экземпляры каротажа:

private Log log = LogFactory.getLog(Foo.class); 

Я не знаю, как загрузить базовый конфигуратор с помощью ACL. поэтому я не могу контролировать уровень отладки для моего теста JUnit.

у вас есть какие-либо предложения, не изменяя

static Logger logger = Logger.getLogger(SomeClass.class); 

стать

static Logger logger = Logger.getLogger(SomeClass.class); 

ответ

0

Что протоколирование система используется в качестве внутреннего интерфейса для Apache Commons Logging в Websphere в модульных тестов? ACL - это просто оболочка для других бэкэндов ведения журнала (например, log4j), и вы настраиваете уровень ведения журнала с помощью настроек конфигурации бэкэнд.

Поэтому я думаю, что вы должны просто использовать log4j в своих модульных тестах и ​​использовать его базовую конфигурацию в методах setup.

+0

Я просто использую ACL в своем компоненте. private Log log = LogFactory.getLog (Foo.class) ;, Если я использую log4j для базовой конфигурации в моем методе настройки. Я должен изменить частный журнал журнала = LogFactory.getLog (Foo.class); для каждого класса, который я разработал, стал статическим Logger logger = Logger.getLogger (SomeClass.class) ;. я хочу, чтобы для –

+0

делегаты ACL регистрировались в какой-то другой структуре ведения журнала, если вы ничего не используете специально, то, вероятно, он переходит к java.util.logging. Настройте это в своих тестах. –