diff --git a/src/de/deadlocker8/budgetmaster/main/Main.java b/src/de/deadlocker8/budgetmaster/main/Main.java
index de459fc7283f353dffd55a22b23e6ef6b476d50c..cc47c5474cad07b07ca9cfc89dc525e7f8ae328d 100644
--- a/src/de/deadlocker8/budgetmaster/main/Main.java
+++ b/src/de/deadlocker8/budgetmaster/main/Main.java
@@ -1,7 +1,6 @@
 package de.deadlocker8.budgetmaster.main;
 
 import java.io.File;
-import java.util.Arrays;
 import java.util.Locale;
 import java.util.ResourceBundle;
 
@@ -12,14 +11,14 @@ import javafx.scene.Parent;
 import javafx.scene.Scene;
 import javafx.scene.image.Image;
 import javafx.stage.Stage;
-import logger.LogLevel;
+import logger.FileOutputMode;
 import logger.Logger;
 import tools.PathUtils;
 
 public class Main extends Application
 {
 	public static ResourceBundle bundle = ResourceBundle.getBundle("de/deadlocker8/budgetmaster/main/", Locale.GERMANY);
-	
+
 	@Override
 	public void start(Stage stage)
 	{
@@ -28,7 +27,7 @@ public class Main extends Application
 			FXMLLoader loader = new FXMLLoader(getClass().getClassLoader().getResource("de/deadlocker8/budgetmaster/ui/GUI.fxml"));
 			Parent root = (Parent)loader.load();
 
-			Scene scene = new Scene(root, 600, 650);			
+			Scene scene = new Scene(root, 600, 650);
 
 			((Controller)loader.getController()).init(stage);
 
@@ -47,25 +46,22 @@ public class Main extends Application
 		}
 	}
 
-	public static void main(String[] args)
+	@Override
+	public void init() throws Exception
 	{
-		if(Arrays.asList(args).contains("debug"))
-		{
-			Logger.setLevel(LogLevel.ALL);
-			Logger.info("Running in Debug Mode");
-		}
-		else
-		{
-			Logger.setLevel(LogLevel.ERROR);			
-		}
+		Parameters params = getParameters();
+		String logLevelParam = params.getNamed().get("loglevel");
+		Logger.setLevel(logLevelParam);
 		
-		PathUtils.checkFolder(new File(PathUtils.getOSindependentPath() + bundle.getString("folder")));
-		File logFile = new File(PathUtils.getOSindependentPath() + bundle.getString("folder") + "/error.log");				
-		Logger.enableFileOutput(logFile);
-	
+		File logFolder = new File(PathUtils.getOSindependentPath() + bundle.getString("folder"));
+		PathUtils.checkFolder(logFolder);
+		Logger.enableFileOutput(logFolder, System.out, System.err, FileOutputMode.COMBINED);
+
 		Logger.appInfo(bundle.getString("app.name"), bundle.getString("version.name"), bundle.getString("version.code"), bundle.getString("version.date"));
-		
+	}
+
+	public static void main(String[] args)
+	{
 		launch(args);
 	}
-	
 }
\ No newline at end of file
diff --git a/src/de/deadlocker8/budgetmasterserver/main/Main.java b/src/de/deadlocker8/budgetmasterserver/main/Main.java
index 379af3c21dcf460ba5bf584b9da7ed667aff5e81..36d7f55ee9b962325f77541856c01c8a3222e6c4 100644
--- a/src/de/deadlocker8/budgetmasterserver/main/Main.java
+++ b/src/de/deadlocker8/budgetmasterserver/main/Main.java
@@ -10,6 +10,7 @@ import java.util.Locale;
 import java.util.ResourceBundle;
 
 import de.deadlocker8.budgetmasterserver.server.SparkServer;
+import logger.FileOutputMode;
 import logger.LogLevel;
 import logger.Logger;
 
@@ -23,8 +24,8 @@ public class Main
 		Logger.appInfo(bundle.getString("app.name"), bundle.getString("version.name"), bundle.getString("version.code"), bundle.getString("version.date"));
 		try
 		{
-			File logFile = new File(Paths.get(SparkServer.class.getProtectionDomain().getCodeSource().getLocation().toURI()).getParent().toFile() + "/error.log");
-			Logger.enableFileOutput(logFile);
+			File logFolder = Paths.get(SparkServer.class.getProtectionDomain().getCodeSource().getLocation().toURI()).getParent().toFile();				
+			Logger.enableFileOutput(logFolder, System.out, System.err, FileOutputMode.COMBINED);
 		}
 		catch(URISyntaxException e1)
 		{