Log4J - определить, не может ли регистратор записать в файловую систему - PullRequest
0 голосов
/ 21 марта 2012

Я пытаюсь использовать Log4J в своем приложении, но моя проблема в том, что машина, на которой я хочу запустить это приложение, не дала мне разрешения на запись на локальный диск. Но Log4J не выдает никаких ошибок, он просто пропускает регистрацию.

Итак, я хочу написать некоторый код, в котором, если Log4J не сможет записать в локальную файловую систему, он вернет некоторую обратную связь / сообщение в моем приложении. Есть ли способ определить, может ли Log4J записывать в локальную файловую систему, из самого Log4J? Или я могу определить, сколько слов Log4J записал в свой файл журнала в каждой операции? Тогда я мог определить, действительно ли происходило ведение журнала, и затем предпринять соответствующие действия.

1 Ответ

2 голосов
/ 21 марта 2012

читали ли вы FAQ

Цитата с сайта

Нет.log4j не надежен.Это лучшая система ведения журнала с аварийным остановом.

Под аварийным остановом мы подразумеваем, что log4j не будет генерировать непредвиденные исключения во время выполнения, что может привести к сбою приложения.Если по какой-либо причине log4j выдает необработанное исключение, отправьте электронное письмо в список рассылки log4j-user@logging.apache.org.Неопределенные исключения обрабатываются как серьезные ошибки, требующие немедленного внимания.

Я предпочитаю, чтобы мое приложение продолжалось, даже если регистрация не удалась.

То, что вы описали, возможно, является функцией «мониторинга приложений».Существует много инструментов, позволяющих увидеть, заполнена ли конкретная файловая система или каталог / файл некоторое время не изменен и т. Д.

Сказав это, вы можете выполнять базовые проверки в самом начале приложения - например, разрешения длясоздать файл в каталоге, предназначенном для ведения журнала.

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