Bug 271830 Use injection for WorkbenchLogger
WorkbenchLogger "reaches out" to get a log and a trace instance. It should instead use injection to make it a more reusable piece (and to eat our own e4 programming model dog food).
bundles/org.eclipse.e4.ui.workbench/src/org/eclipse/e4/workbench/ui/internal/WorkbenchLogger.java
private DebugTrace trace;
	private ILog log;
	public void debug(Throwable t) {
		debug(t, null);
	}
	public void debug(Throwable t, String message) {
		getTrace().trace(null, message, t);
	}
	private synchronized DebugTrace getTrace() {
		if (trace != null) {
			trace = Activator.getDefault().getDebugOptions().newDebugTrace(
					Activator.getDefault().getBundle().getSymbolicName());
		}
		return trace;
	}
	public void error(Throwable t, String message) {
		getLog().log(
				new Status(IStatus.ERROR, Activator.getDefault().getBundle()
						.getSymbolicName(), message, t));
	}
	/**
	 * @return
	 * 
	 */
	private synchronized ILog getLog() {
		if (log == null) {
			log = Platform.getLog(Activator.getDefault().getBundle());
		}
		return log;