2013-11-18 4 views
0

Я пытаюсь добавить возможности ведения журнала в свое приложение RCP e4. Я нашел следующий фрагмент.Eclipse 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? Любая помощь будет оценена. Благодаря!

ответ

1

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

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

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

+0

Спасибо за ответ. Я реализую приложение Eclipse (Kepler) 4. Насколько я знаю, приложение Eclipse 4 не использует верстак. Ниже приведена часть моего файла plugin.xml. Благодаря! <расширение ID = "продукт" точка = "org.eclipse.core.runtime.products"> <продукт имя = "com.lanterm.sigma" приложение = "org.eclipse.e4.ui.workbench.swt.E4Application"> <свойство имя = значение "clearPersistedState" = "истинный"> – user2912941

+0

E4 приложения действительно есть но это не то же самое, что и старый верстак. Все в моем ответе - для чистого приложения e4. –

+0

Спасибо !. Я попытался найти в Интернете, чтобы искать примеры/использование понятий, которые вы указали выше. Единственная полезная вещь, которую я нашел, - это учебное пособие Ларса Фогеля по адресу http://www.vogella.com/articles/EclipseLogging/article.html. Но это было слишком кратким и, как мне кажется, использует подход, который вы указали выше. Любые другие указатели/примеры будут высоко оценены. Еще раз спасибо за помощь. – user2912941

 Смежные вопросы

  • Нет связанных вопросов^_^