Ведение журнала Eclipse RCP e4

Я пытаюсь добавить возможности ведения журнала в свое приложение RCP e4. Я нашел следующий фрагмент.

import org.eclipse.e4.core.di.annotations.Creatable;
import org.eclipse.e4.core.di.annotations.Optional;
import org.eclipse.e4.core.services.log.Logger;
@Creatable
public class LoggerWrapper extends Logger {
@Optional
@Inject
private Logger logger;
@Override
public boolean isErrorEnabled() {
            if (logger != null) {
                    return logger.isErrorEnabled();
            }
            return false;
    }
 @Override
public void error(Throwable t, String message) {
              if (logger != null && isErrorEnabled()) {
                    logger.error(t, withPluginInfo(message));
                  }
}
}     

Но я не уверен, как настроить/инициализировать Logger? Любая помощь будет оценена. Спасибо!


person user2912941    schedule 18.11.2013    source источник


Ответы (1)


Если я правильно прочитал E4Application, он всегда будет инициализировать контекст приложения, чтобы он содержал Logger, который реализуется org.eclipse.e4.ui.internal.workbench.WorkbenchLogger.

Вы можете переопределить это в методе PostContextCreate вашего класса Life Cycle (если он у вас есть).

Вы также можете внедрить StatusReporter, который предоставляет простые средства регистрации в журнале Eclipse (на основе объектов Status).

person greg-449    schedule 18.11.2013
comment
Спасибо за ответ. Я реализую приложение Eclipse (Kepler) 4. Насколько я знаю, приложение Eclipse 4 не использует рабочее место. Ниже приведена часть моего файла plugin.xml. Спасибо! ‹?xml версия=1.0 кодировка=UTF-8?› ‹плагин› ‹расширение id=точка продукта=org.eclipse.core.runtime.products› ‹название продукта=com.lanterm.sigma application=org.eclipse.e4. ui.workbench.swt.E4Application› ‹имя свойства=clearPersistedState значение=true› ‹/property› - person user2912941; 21.11.2013
comment
В приложениях E4 есть рабочая среда, но она не такая, как старая рабочая среда. Все в моем ответе для чистого приложения e4. - person greg-449; 21.11.2013
comment
Спасибо!. Я попытался найти в Интернете примеры/использование концепций, которые вы указали выше. Единственная полезная вещь, которую я нашел, это учебник Ларса Фогеля на vogella.com/articles/EclipseLogging/article. .html. Но он был слишком краток и, я думаю, действительно использует тот подход, который вы изложили выше. Любые другие указатели/примеры будут высоко оценены. Еще раз спасибо за вашу помощь. - person user2912941; 22.11.2013
comment
Просто в продолжение моего предыдущего комментария. Я нашел следующие ссылки: Eclipse4/RCP/Lifecycle по адресу wiki.eclipse.org/Eclipse4/RCP/Lifecycle., зарегистрируйтесь для участия в жизненном цикле приложения Eclipse 4. Учебное пособие по адресу vogella.com/ статьи/Eclipse4LifeCycle/article.html. - person user2912941; 22.11.2013
comment
Я нашел этот youtube.com/watch?v=F1t1qxPBfw0&feature=feedu, в котором описывается как добавить возможности ведения журнала (log4j) в приложение Eclipse 4. - person user2912941; 25.11.2013