Взять на себя обработку журналов в JSF

Я пытаюсь очистить журналы сервера в своем приложении JSF 2, чтобы оно было менее загроможденным. Это означает, например, не регистрировать исключения, которые я ожидаю и которые меня совершенно не интересуют. Для этого я создал свой собственный обработчик ошибок, используя технику, описанную на http://jugojava.blogspot.com/2010/09/jsf-2-exception-handling.html.

Однако все исключения, созданные в моих управляемых компонентах, регистрируются несколько раз, прежде чем достичь моего обработчика ошибок, сначала javax.enterprise.resource.webcontainer.jsf.application, а затем javax.enterprise.resource.webcontainer.jsf.lifecycle. Можно ли запретить этим классам регистрировать каждое исключение дважды? Я бы предпочел не отключать эти классы в log4j, поскольку они могут регистрировать другую полезную информацию.

Пример NPE в управляемом компоненте. Только последняя строка заносится в журнал намеренно.
ALLVARLIG означает "СЕРЬЕЗНО", а VARNING означает "ПРЕДУПРЕЖДЕНИЕ"):

2012-02-01 07:32:43,477 ALLVARLIG [javax.enterprise.resource.webcontainer.jsf.application] (http-0.0.0.0-80-33) java.lang.NullPointerException: javax.faces.el.EvaluationException: java.lang.NullPointerException
[full stack trace]
2012-02-01 07:32:43,477 VARNING [javax.enterprise.resource.webcontainer.jsf.lifecycle] (http-0.0.0.0-80-33) #{myController.doStuff}: java.lang.NullPointerException: javax.faces.FacesException: #{myController.doStuff}: java.lang.NullPointerException
[full stack trace]
2012-02-01 07:32:43,477 ERROR [com.mycompany.myapplication.controller.error.ErrorHandler] (http-0.0.0.0-80-33) Unknown error: javax.faces.FacesException: #{myController.doStuff}: java.lang.NullPointerException
[full stack trace]

person Rasmus Franke    schedule 02.02.2012    source источник
comment
Связано: stackoverflow.com/questions/7162134/   -  person BalusC    schedule 02.02.2012
comment
Хм, я не знал, что сообщения журнала проходят через java.util.Logging, а не через log4j, но теперь это кажется довольно очевидным с разными именами уровней журнала.   -  person Rasmus Franke    schedule 02.02.2012