Перенаправить сообщения ILog - PullRequest
2 голосов
/ 01 октября 2008

В настоящее время я разрабатываю приложение RCP Eclipse. Для целей ведения журнала я использую SFL4J поверх log4j. Для моего собственного кода это работает хорошо, так как я могу указать правильный регистратор (LoggerFactory.getLogger ... logger.debug ...). Но как я могу перенаправить все журналы плагинов в то же место, чтобы я мог видеть все исключения из других плагинов RCP также в моем log4j-LogFile Как я могу записать неперехваченные исключения в моем лог-файле?

Я что-то слышал о ILog, но я не знаю, как перенаправить это в мою реализацию log4j / slf4j.

Итак, как лучше всего зарегистрировать все сообщения плагина в одном файле журнала?

1 Ответ

4 голосов
/ 15 октября 2008

Чтобы захватить события журнала для всей платформы, создайте экземпляр ILogListener и зарегистрируйте его, используя Platform.addLogListener (ILogListener).

Что касается регистрации неперехваченных исключений, один из способов сделать это - создать новую группу ThreadGroup и переопределить uncaughtException (Thread t, Throwable e) для регистрации исключения. Затем вы должны начать новый поток в этой группе потоков и сделать все остальное внутри нее. Я позабочусь об этом в методе выполнения моей реализации IPlatformRunnable.

...