Index: /trunk/EventBenchConsole/.classpath
===================================================================
--- /trunk/EventBenchConsole/.classpath	(revision 206)
+++ /trunk/EventBenchConsole/.classpath	(revision 207)
@@ -40,4 +40,5 @@
 	<classpathentry kind="lib" path="lib/swt/org.eclipse.ui.workbench_3.7.0.I20110519-0100.jar"/>
 	<classpathentry kind="lib" path="lib/guitar/gui-model-core.jar"/>
+	<classpathentry kind="lib" path="lib/log4j-1.2.16.jar"/>
 	<classpathentry combineaccessrules="false" kind="src" path="/JavaHelperLib"/>
 	<classpathentry combineaccessrules="false" kind="src" path="/EventBenchCore"/>
Index: /trunk/EventBenchConsole/misc/log4j.properties
===================================================================
--- /trunk/EventBenchConsole/misc/log4j.properties	(revision 207)
+++ /trunk/EventBenchConsole/misc/log4j.properties	(revision 207)
@@ -0,0 +1,10 @@
+log4j.rootLogger=TRACE, file
+
+log4j.appender.file=org.apache.log4j.RollingFileAppender
+log4j.appender.file.File=log/log4j.log
+
+log4j.appender.file.MaxFileSize=100KB
+log4j.appender.file.MaxBackupIndex=1
+
+log4j.appender.file.layout=org.apache.log4j.PatternLayout
+log4j.appender.file.layout.ConversionPattern=%-4r [%t] %-5p %c %x - %m%n
Index: /trunk/EventBenchConsole/src/de/ugoe/cs/eventbench/Runner.java
===================================================================
--- /trunk/EventBenchConsole/src/de/ugoe/cs/eventbench/Runner.java	(revision 206)
+++ /trunk/EventBenchConsole/src/de/ugoe/cs/eventbench/Runner.java	(revision 207)
@@ -1,4 +1,5 @@
 package de.ugoe.cs.eventbench;
 
+import de.ugoe.cs.eventbench.log4j.Log4JLogger;
 import de.ugoe.cs.eventbench.swt.MainWindow;
 import de.ugoe.cs.util.console.CommandExecuter;
@@ -39,4 +40,5 @@
 				"de.ugoe.cs.eventbench.efg.commands");
 		TextConsole textConsole = new TextConsole();
+		new Log4JLogger();
 		boolean swtGuiRunning = false;
 		if (args.length >= 1) {
Index: /trunk/EventBenchConsole/src/de/ugoe/cs/eventbench/log4j/Log4JLogger.java
===================================================================
--- /trunk/EventBenchConsole/src/de/ugoe/cs/eventbench/log4j/Log4JLogger.java	(revision 207)
+++ /trunk/EventBenchConsole/src/de/ugoe/cs/eventbench/log4j/Log4JLogger.java	(revision 207)
@@ -0,0 +1,92 @@
+package de.ugoe.cs.eventbench.log4j;
+
+import org.apache.log4j.Logger;
+import org.apache.log4j.PropertyConfigurator;
+
+import de.ugoe.cs.util.console.Console;
+import de.ugoe.cs.util.console.listener.ICommandListener;
+import de.ugoe.cs.util.console.listener.IErrorListener;
+import de.ugoe.cs.util.console.listener.IExceptionListener;
+import de.ugoe.cs.util.console.listener.ITraceListener;
+
+/**
+ * <p>
+ * Implements logging based on the log4j API.
+ * </p>
+ * 
+ * @author Steffen Herbold
+ * @version 1.0
+ */
+public class Log4JLogger implements IErrorListener, ITraceListener,
+		IExceptionListener, ICommandListener {
+
+	/**
+	 * <p>
+	 * Reference to the logger.
+	 * </p>
+	 */
+	Logger logger;
+
+	/**
+	 * <p>
+	 * Constructor. Creates a new Log4JLogger and registers the implemented
+	 * listener with the {@link Console}.
+	 * </p>
+	 */
+	public Log4JLogger() {
+		PropertyConfigurator.configure("misc/log4j.properties");
+		logger = Logger.getLogger("de.ugoe.cs.eventbench");
+		Console.getInstance().registerErrorListener(this);
+		Console.getInstance().registerTraceListener(this);
+		Console.getInstance().registerExceptionListener(this);
+		Console.getInstance().registerCommandListener(this);
+	}
+
+	/*
+	 * (non-Javadoc)
+	 * 
+	 * @see
+	 * de.ugoe.cs.util.console.listener.ICommandListener#commandNotification
+	 * (java.lang.String)
+	 */
+	@Override
+	public void commandNotification(String command) {
+		logger.info("Command executed: " + command);
+	}
+
+	/*
+	 * (non-Javadoc)
+	 * 
+	 * @see
+	 * de.ugoe.cs.util.console.listener.IExceptionListener#printStacktrace(java
+	 * .lang.Exception)
+	 */
+	@Override
+	public void printStacktrace(Exception e) {
+		logger.error("", e);
+	}
+
+	/*
+	 * (non-Javadoc)
+	 * 
+	 * @see
+	 * de.ugoe.cs.util.console.listener.ITraceListener#traceMsg(java.lang.String
+	 * )
+	 */
+	@Override
+	public void traceMsg(String traceMessage) {
+		logger.trace(traceMessage);
+	}
+
+	/*
+	 * (non-Javadoc)
+	 * 
+	 * @see
+	 * de.ugoe.cs.util.console.listener.IErrorListener#errorMsg(java.lang.String
+	 * )
+	 */
+	@Override
+	public void errorMsg(String errMessage) {
+		logger.error(errMessage);
+	}
+}
