регистрация исключений jsf с log4j - PullRequest
0 голосов
/ 17 октября 2018

Я пытаюсь регистрировать исключения в моем проекте не maven, используя log4j my log4j.properties

log4j.rootLogger = debug, stdout, FILE

log4j.appender.stdout = org.apache.log4j.ConsoleAppender
log4j.appender.stdout.Target = System.out
log4j.appender.stdout.layout = org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern = %d{ABSOLUTE} %5p %c{1}:%L - %m%n

log4j.appender.FILE = org.apache.log4j.RollingFileAppender
log4j.appender.FILE.maxFileSize = 100kb
log4j.appender.FILE.maxBackupIndex = 2
log4j.appender.file.File=C:/Users/dev/Desktop/log.txt
log4j.appender.FILE.Threshold = debug
log4j.appender.FILE.layout = org.apache.log4j.PatternLayout
log4j.appender.FILE.layout.ConversionPattern = %d{ABSOLUTE} %5p %c{1}:%L - %m%n

, и использовал обработчик исключений и фабрику, указанные в ответе balusC

public class ErpExceptionHandler extends ExceptionHandlerWrapper {

    private ExceptionHandler wrapped;
private static final long serialVersionUID = 1L;    

    private static Logger logger = Logger.getLogger(ErpExceptionHandler.class);
    public ErpExceptionHandler(ExceptionHandler wrapped) {
        this.wrapped = wrapped;
    }

    @Override
    public void handle() throws FacesException {
        FacesContext facesContext = FacesContext.getCurrentInstance();

        for (Iterator<ExceptionQueuedEvent> iter = getUnhandledExceptionQueuedEvents().iterator(); iter.hasNext();) {
            Throwable exception = iter.next().getContext().getException(); 

       logger.error("An exception occurred!", exception);
        }

        getWrapped().handle();
    }

    @Override
    public ExceptionHandler getWrapped() {
        return wrapped;
    }

}

имой лог-файл все еще пуст, что я тут испорчу ???

1 Ответ

0 голосов
/ 17 октября 2018

Похоже, что вы включили конфигурацию log4j для входа на уровне DEBUG.Но фактический код, который регистрирует, не включен.Возможно, уровень DEBUG (или соответствующий уровень) не используется при входе в код?


ОБНОВЛЕНИЕ: Пожалуйста, попробуйте это: - log4j.appender.file.File = C: \\ Users \\dev \\ Desktop \\ log.txt (здесь вместо двойной косой черты используется двойная обратная косая черта)

Кроме того, попробуйте выбросить новое исключение вне всех условий / условия условия / и т.д., чтобы упростить и проверить, еслирегистрация работает.Тогда вам придется перехватить и записать это исключение.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...