У меня есть вопрос относительно ведения журнала.Сброс регистрационного регистратора
Короткая версия
Если создание Appender не удается (например, прав), как я явно повторно попытку создать его, когда проблемы с разрешениями решены. Я использую конфигурацию XML. Я хотел бы сделать это без повторного запуска моего процесса.
Longer версия
Я использую Logback на Android (logback-android).
Я регистрируюсь в каталоге на внешнем хранилище, а это означает, что если пользователь подключит устройство к ПК и включит массовое хранилище, файловая система каталога будет отключена.
Если приложение запускается, в то время как каталог не доступен, я сообщить пользователю, но поскольку регистраторы определяются как статические поля ...
private static final Logger LOG = LoggerFactory.getLogger(MyApplication.class);
... Logback пытается создать Appender все равно когда мои классы загружаются загрузчиком классов и не выполняются.
Из-за того, как работает Android, процесс приложения продолжает работать, даже когда пользователь покидает все экраны моего приложения (например, переходит на главный экран), и поэтому приложение никогда не будет пытаться создать его.
Есть ли способ сбросить приложение из конфигурации? Если это так, я могу попытаться сбросить Logback, если это необходимо, когда пользователь вводит начальный экран моего приложения.
Я пытался остановить его, используя ...
LoggerContext loggerContext = (LoggerContext) LoggerFactory.getILoggerFactory();
if (loggerContext != null)
loggerContext.stop();
... который, кажется, работает нормально, но я, кажется, не быть в состоянии повторно запустить его:
loggerContext.start()
Кажется, это не воссоздает приложение.
Большое спасибо за помощь.