diff --git a/pom.xml b/pom.xml
index 5bcb117fd4dcb47f6a209d0c776f1d4bf72259e2..d2cd731026ea81fbf2827fac218fb814af303a35 100644
--- a/pom.xml
+++ b/pom.xml
@@ -69,12 +69,6 @@
         <dependency>
             <groupId>org.springframework.boot</groupId>
             <artifactId>spring-boot-starter-freemarker</artifactId>
-            <exclusions>
-                <exclusion>
-                    <artifactId>spring-boot-starter-logging</artifactId>
-                    <groupId>org.springframework.boot</groupId>
-                </exclusion>
-            </exclusions>
         </dependency>
 
         <dependency>
@@ -85,13 +79,6 @@
         <dependency>
             <groupId>org.springframework.boot</groupId>
             <artifactId>spring-boot-starter-web</artifactId>
-
-            <exclusions>
-                <exclusion>
-                    <groupId>org.springframework.boot</groupId>
-                    <artifactId>spring-boot-starter-logging</artifactId>
-                </exclusion>
-            </exclusions>
         </dependency>
 
         <dependency>
@@ -121,11 +108,6 @@
             <artifactId>spring-boot-starter-security</artifactId>
         </dependency>
 
-        <dependency>
-            <groupId>de.thecodelabs</groupId>
-            <artifactId>libLogger-slf4j</artifactId>
-        </dependency>
-
         <dependency>
             <groupId>de.tobias</groupId>
             <artifactId>libUtils</artifactId>
diff --git a/src/main/java/de/deadlocker8/budgetmaster/Main.java b/src/main/java/de/deadlocker8/budgetmaster/Main.java
index 48c8f630ad327396e4db9734230ec9cce1b143f3..1b8c87d2c2868f316bd6cb5b44bbe0a00dbf1550 100644
--- a/src/main/java/de/deadlocker8/budgetmaster/Main.java
+++ b/src/main/java/de/deadlocker8/budgetmaster/Main.java
@@ -1,13 +1,10 @@
 package de.deadlocker8.budgetmaster;
 
-import de.deadlocker8.budgetmaster.utils.Strings;
-import de.thecodelabs.logger.FileOutputOption;
-import de.thecodelabs.logger.LogLevel;
-import de.thecodelabs.logger.LogLevelFilter;
-import de.thecodelabs.logger.Logger;
 import de.tobias.utils.io.PathUtils;
 import de.tobias.utils.util.Localization;
 import de.tobias.utils.util.SystemUtils;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 import org.springframework.boot.ApplicationArguments;
 import org.springframework.boot.ApplicationRunner;
 import org.springframework.boot.SpringApplication;
@@ -24,6 +21,8 @@ import java.util.Locale;
 @SpringBootApplication
 public class Main implements ApplicationRunner
 {
+	private final static Logger LOGGER = LoggerFactory.getLogger(Main.class);
+
 	public static void main(String[] args)
 	{
 		Localization.setDelegate(new Localization.LocalizationDelegate()
@@ -51,11 +50,9 @@ public class Main implements ApplicationRunner
 		Path applicationSupportFolder = SystemUtils.getApplicationSupportDirectoryPath(Localization.getString("folder"));
 		PathUtils.createDirectoriesIfNotExists(applicationSupportFolder);
 
-		Logger.init(applicationSupportFolder);
-		Logger.setFileOutput(FileOutputOption.COMBINED);
 
 		Build build = Build.getInstance();
-		Logger.appInfo(build.getAppName(), build.getVersionName(), build.getVersionCode(), build.getVersionDate());
+		logAppInfo(build.getAppName(), build.getVersionName(), build.getVersionCode(), build.getVersionDate());
 
 		ProgramArgs.setArgs(Arrays.asList(args));
 
@@ -64,13 +61,13 @@ public class Main implements ApplicationRunner
 		{
 			try
 			{
-				Logger.warning("BudgetMaster settings file ({0}) is missing. A default file will be created. Please fill in your settings.", settingsPath);
+				LOGGER.warn("BudgetMaster settings file ({0}) is missing. A default file will be created. Please fill in your settings.", settingsPath);
 				Files.copy(Main.class.getClassLoader().getResourceAsStream("config/templates/settings.properties"), settingsPath, StandardCopyOption.REPLACE_EXISTING);
 				System.exit(1);
 			}
 			catch(IOException e)
 			{
-				Logger.error(e);
+				e.printStackTrace();
 			}
 		}
 
@@ -78,30 +75,11 @@ public class Main implements ApplicationRunner
 	}
 
 	@Override
-	public void run(ApplicationArguments args) throws Exception
+	public void run(ApplicationArguments args)
 	{
-		String logLevelParam = args.getOptionValues("loglevel").get(0);
-		if(logLevelParam.equalsIgnoreCase("debug"))
-		{
-			Logger.setLevelFilter(LogLevelFilter.DEBUG);
-			Logger.addFilter(logMessage -> {
-				if(logMessage.getCaller().getClassName().contains("deadlocker8"))
-				{
-					return true;
-				}
-
-				if(logMessage.getLevel().equals(LogLevel.DEBUG) || logMessage.getLevel().equals(LogLevel.TRACE))
-				{
-					return false;
-				}
+	}
 
-				return true;
-			});
-		}
-		else
-		{
-			Logger.setLevelFilter(LogLevelFilter.NORMAL);
-			Logger.setFileOutput(FileOutputOption.COMBINED);
-		}
+	private static void logAppInfo(String appName, String versionName, String versionCode, String versionDate) {
+		LOGGER.info(appName + " - v" + versionName + " - (versioncode: " + versionCode + ") from " + versionDate + ")");
 	}
 }
\ No newline at end of file
diff --git a/src/main/java/de/deadlocker8/budgetmaster/authentication/UserService.java b/src/main/java/de/deadlocker8/budgetmaster/authentication/UserService.java
index 27979476ce06e46bead8f072a2c0aceaab5f58b7..4d5b325312edbbb83eb460e65876f576a27dc3f9 100644
--- a/src/main/java/de/deadlocker8/budgetmaster/authentication/UserService.java
+++ b/src/main/java/de/deadlocker8/budgetmaster/authentication/UserService.java
@@ -2,7 +2,8 @@ package de.deadlocker8.budgetmaster.authentication;
 
 import de.deadlocker8.budgetmaster.ProgramArgs;
 import de.deadlocker8.budgetmaster.services.AccountService;
-import de.thecodelabs.logger.Logger;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder;
 import org.springframework.stereotype.Service;
@@ -10,12 +11,14 @@ import org.springframework.stereotype.Service;
 @Service
 public class UserService
 {
+	private final Logger LOGGER = LoggerFactory.getLogger(this.getClass());
+
 	@Autowired
 	public UserService(UserRepository userRepository, AccountService accountService)
 	{
 		if(ProgramArgs.getArgs().contains("--resetPassword"))
 		{
-			Logger.info("Password reset");
+			LOGGER.info("Password reset");
 			userRepository.deleteAll();
 		}
 
@@ -25,7 +28,7 @@ public class UserService
 			String encryptedPassword = bCryptPasswordEncoder.encode("BudgetMaster");
 			User user = new User("Default", encryptedPassword);
 			userRepository.save(user);
-			Logger.info("Created default user");
+			LOGGER.info("Created default user");
 
 			accountService.selectAccount(accountService.getRepository().findByIsSelected(true).getID());
 		}
diff --git a/src/main/java/de/deadlocker8/budgetmaster/controller/AboutController.java b/src/main/java/de/deadlocker8/budgetmaster/controller/AboutController.java
index 5d84b42a85cc521e712a2ec2c30290f2ca84c586..ba3992650773e582c83028c4293946ae46d4487a 100644
--- a/src/main/java/de/deadlocker8/budgetmaster/controller/AboutController.java
+++ b/src/main/java/de/deadlocker8/budgetmaster/controller/AboutController.java
@@ -5,7 +5,7 @@ import org.springframework.web.bind.annotation.RequestMapping;
 
 
 @Controller
-public class AboutController
+public class AboutController extends BaseController
 {
 	@RequestMapping("/about")
 	public String index()
diff --git a/src/main/java/de/deadlocker8/budgetmaster/controller/AccountController.java b/src/main/java/de/deadlocker8/budgetmaster/controller/AccountController.java
index 5f85e16f5228ad0badb4d02effb49c3bcf8aafba..266c89b600c3a216bfcdf0ef65b2b74d33088789 100644
--- a/src/main/java/de/deadlocker8/budgetmaster/controller/AccountController.java
+++ b/src/main/java/de/deadlocker8/budgetmaster/controller/AccountController.java
@@ -10,16 +10,14 @@ import org.springframework.stereotype.Controller;
 import org.springframework.ui.Model;
 import org.springframework.validation.BindingResult;
 import org.springframework.validation.FieldError;
-import org.springframework.web.bind.annotation.ModelAttribute;
-import org.springframework.web.bind.annotation.PathVariable;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RequestMethod;
+import org.springframework.web.bind.annotation.*;
+import org.springframework.web.servlet.mvc.support.RedirectAttributes;
 
 import javax.servlet.http.HttpServletRequest;
 
 
 @Controller
-public class AccountController
+public class AccountController extends BaseController
 {
 	@Autowired
 	private AccountRepository accountRepository;
diff --git a/src/main/java/de/deadlocker8/budgetmaster/controller/BaseController.java b/src/main/java/de/deadlocker8/budgetmaster/controller/BaseController.java
new file mode 100644
index 0000000000000000000000000000000000000000..ab1dc11ceb5eea08e218fa47d913b9804f438621
--- /dev/null
+++ b/src/main/java/de/deadlocker8/budgetmaster/controller/BaseController.java
@@ -0,0 +1,9 @@
+package de.deadlocker8.budgetmaster.controller;
+
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+public abstract class BaseController
+{
+	final Logger LOGGER = LoggerFactory.getLogger(this.getClass());
+}
\ No newline at end of file
diff --git a/src/main/java/de/deadlocker8/budgetmaster/controller/CategoryController.java b/src/main/java/de/deadlocker8/budgetmaster/controller/CategoryController.java
index 21fd554354e3133427e72e8217a9d95ac29b978a..86fe0e2da2582f613ba7fbd41635f64e8e6e42f2 100644
--- a/src/main/java/de/deadlocker8/budgetmaster/controller/CategoryController.java
+++ b/src/main/java/de/deadlocker8/budgetmaster/controller/CategoryController.java
@@ -20,7 +20,7 @@ import org.springframework.web.bind.annotation.RequestMethod;
 
 
 @Controller
-public class CategoryController
+public class CategoryController extends BaseController
 {
 	@Autowired
 	private CategoryRepository categoryRepository;
diff --git a/src/main/java/de/deadlocker8/budgetmaster/controller/DatePickerController.java b/src/main/java/de/deadlocker8/budgetmaster/controller/DatePickerController.java
index bd54aa7d4f8ccc19395e17b98591d966087a3836..c7cdfb79b007b87d00c2a05d41cd4bd7f0822c2a 100644
--- a/src/main/java/de/deadlocker8/budgetmaster/controller/DatePickerController.java
+++ b/src/main/java/de/deadlocker8/budgetmaster/controller/DatePickerController.java
@@ -16,7 +16,7 @@ import javax.servlet.http.HttpServletResponse;
 
 
 @Controller
-public class DatePickerController
+public class DatePickerController extends BaseController
 {
 	@Autowired
 	private SettingsRepository settingsRepository;
diff --git a/src/main/java/de/deadlocker8/budgetmaster/controller/EmptyPageController.java b/src/main/java/de/deadlocker8/budgetmaster/controller/EmptyPageController.java
index 5c2206cbd33b005e7ba334e8d89c0513f12b81f4..e0663e0d8459ad9b97c6bc32ec0fdbc2fb780d1c 100644
--- a/src/main/java/de/deadlocker8/budgetmaster/controller/EmptyPageController.java
+++ b/src/main/java/de/deadlocker8/budgetmaster/controller/EmptyPageController.java
@@ -6,7 +6,7 @@ import org.springframework.web.bind.annotation.RequestMapping;
 
 
 @Controller
-public class EmptyPageController
+public class EmptyPageController extends BaseController
 {
 	@RequestMapping("/reports")
 	public String reports(Model model)
diff --git a/src/main/java/de/deadlocker8/budgetmaster/controller/IndexController.java b/src/main/java/de/deadlocker8/budgetmaster/controller/IndexController.java
index fa70ac9555959d6780fa5a574d864967640d81d0..9801219b78acc7ace68bbdf9dd9e36ea45acd1df 100644
--- a/src/main/java/de/deadlocker8/budgetmaster/controller/IndexController.java
+++ b/src/main/java/de/deadlocker8/budgetmaster/controller/IndexController.java
@@ -5,7 +5,7 @@ import org.springframework.web.bind.annotation.RequestMapping;
 
 
 @Controller
-public class IndexController
+public class IndexController extends BaseController
 {
 	@RequestMapping("/")
 	public String index()
diff --git a/src/main/java/de/deadlocker8/budgetmaster/controller/LoginController.java b/src/main/java/de/deadlocker8/budgetmaster/controller/LoginController.java
index 01dc61f24286378eabc46ff118d9a18b199a0b01..564a35270f419a90b80f36c15400b3f61c8b7abe 100644
--- a/src/main/java/de/deadlocker8/budgetmaster/controller/LoginController.java
+++ b/src/main/java/de/deadlocker8/budgetmaster/controller/LoginController.java
@@ -4,12 +4,13 @@ import org.springframework.security.web.savedrequest.DefaultSavedRequest;
 import org.springframework.stereotype.Controller;
 import org.springframework.ui.Model;
 import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestParam;
 
 import javax.servlet.http.HttpServletRequest;
 import java.util.Map;
 
 @Controller
-public class LoginController
+public class LoginController extends BaseController
 {
 	@RequestMapping("/login")
 	public String login(HttpServletRequest request, Model model)
diff --git a/src/main/java/de/deadlocker8/budgetmaster/controller/SettingsController.java b/src/main/java/de/deadlocker8/budgetmaster/controller/SettingsController.java
index d7f53db7c334ad2b67c7a6162ea547d6688b2af8..d78ba3fc3468473a43d7ffc6b618fd28e55afe3c 100644
--- a/src/main/java/de/deadlocker8/budgetmaster/controller/SettingsController.java
+++ b/src/main/java/de/deadlocker8/budgetmaster/controller/SettingsController.java
@@ -13,10 +13,11 @@ import de.deadlocker8.budgetmaster.services.HelpersService;
 import de.deadlocker8.budgetmaster.services.ImportService;
 import de.deadlocker8.budgetmaster.utils.LanguageType;
 import de.deadlocker8.budgetmaster.utils.Strings;
-import de.thecodelabs.logger.Logger;
 import de.tobias.utils.util.Localization;
 import de.tobias.utils.util.RandomUtils;
 import org.joda.time.DateTime;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder;
 import org.springframework.stereotype.Controller;
@@ -39,7 +40,7 @@ import java.io.UnsupportedEncodingException;
 
 
 @Controller
-public class SettingsController
+public class SettingsController extends BaseController
 {
 	@Autowired
 	private SettingsRepository settingsRepository;
@@ -59,6 +60,8 @@ public class SettingsController
 	@Autowired
 	private ImportService importService;
 
+	private final Logger LOGGER = LoggerFactory.getLogger(this.getClass());
+
 	@RequestMapping("/settings")
 	public String settings(WebRequest request, Model model)
 	{
@@ -134,7 +137,7 @@ public class SettingsController
 	@RequestMapping("/settings/database/requestExport")
 	public void downloadFile(HttpServletResponse response)
 	{
-		Logger.debug("Exporting database...");
+		LOGGER.debug("Exporting database...");
 		String data = databaseService.getDatabaseAsJSON();
 		try
 		{
@@ -150,16 +153,16 @@ public class SettingsController
 			{
 				out.write(dataBytes);
 				out.flush();
-				Logger.debug("Exporting database DONE");
+				LOGGER.debug("Exporting database DONE");
 			}
 			catch(IOException e)
 			{
-				Logger.error(e);
+				e.printStackTrace();
 			}
 		}
 		catch(UnsupportedEncodingException e)
 		{
-			Logger.error(e);
+			e.printStackTrace();
 		}
 	}
 
@@ -178,9 +181,9 @@ public class SettingsController
 	{
 		if(verificationUserInput.equals(verificationCode))
 		{
-			Logger.info("Deleting database...");
+			LOGGER.info("Deleting database...");
 			databaseService.reset();
-			Logger.info("Deleting database DONE.");
+			LOGGER.info("Deleting database DONE.");
 		}
 		else
 		{
@@ -216,7 +219,7 @@ public class SettingsController
 		}
 		catch(Exception e)
 		{
-			Logger.error(e);
+			e.printStackTrace();
 
 			model.addAttribute("errorImportDatabase", e.getMessage());
 			return "settings";
diff --git a/src/main/java/de/deadlocker8/budgetmaster/controller/TeapotController.java b/src/main/java/de/deadlocker8/budgetmaster/controller/TeapotController.java
index 1ec0abda6e9174a2260a44a38e50ad5518f95d65..d5fc0e9478946ae87a6bc4850beb915bd45ad6b6 100644
--- a/src/main/java/de/deadlocker8/budgetmaster/controller/TeapotController.java
+++ b/src/main/java/de/deadlocker8/budgetmaster/controller/TeapotController.java
@@ -5,7 +5,7 @@ import org.springframework.web.bind.annotation.RequestMapping;
 
 
 @Controller
-public class TeapotController
+public class TeapotController extends BaseController
 {
 	@RequestMapping("/418")
 	public String index()
diff --git a/src/main/java/de/deadlocker8/budgetmaster/controller/TransactionController.java b/src/main/java/de/deadlocker8/budgetmaster/controller/TransactionController.java
index f067db2ae4e3847d590b012d200a0f631c72a2f9..c617082dd4841363887d687c65312416f2c52765 100644
--- a/src/main/java/de/deadlocker8/budgetmaster/controller/TransactionController.java
+++ b/src/main/java/de/deadlocker8/budgetmaster/controller/TransactionController.java
@@ -1,13 +1,12 @@
 package de.deadlocker8.budgetmaster.controller;
 
+import de.deadlocker8.budgetmaster.entities.Transaction;
 import de.deadlocker8.budgetmaster.entities.Settings;
 import de.deadlocker8.budgetmaster.entities.Tag;
-import de.deadlocker8.budgetmaster.entities.Transaction;
 import de.deadlocker8.budgetmaster.repeating.RepeatingOption;
 import de.deadlocker8.budgetmaster.repeating.RepeatingTransactionUpdater;
 import de.deadlocker8.budgetmaster.repeating.endoption.*;
-import de.deadlocker8.budgetmaster.repeating.modifier.RepeatingModifier;
-import de.deadlocker8.budgetmaster.repeating.modifier.RepeatingModifierType;
+import de.deadlocker8.budgetmaster.repeating.modifier.*;
 import de.deadlocker8.budgetmaster.repositories.*;
 import de.deadlocker8.budgetmaster.services.HelpersService;
 import de.deadlocker8.budgetmaster.services.TransactionService;
@@ -26,7 +25,7 @@ import java.util.List;
 
 
 @Controller
-public class TransactionController
+public class TransactionController extends BaseController
 {
 	@Autowired
 	private TransactionRepository transactionRepository;
diff --git a/src/main/java/de/deadlocker8/budgetmaster/database/DatabaseParser.java b/src/main/java/de/deadlocker8/budgetmaster/database/DatabaseParser.java
index b1f4df260ce21c731a48d0270f705a09144db360..3278b5189486567de0fea608c62470a56f1ae9b5 100644
--- a/src/main/java/de/deadlocker8/budgetmaster/database/DatabaseParser.java
+++ b/src/main/java/de/deadlocker8/budgetmaster/database/DatabaseParser.java
@@ -3,11 +3,13 @@ package de.deadlocker8.budgetmaster.database;
 import com.google.gson.JsonObject;
 import com.google.gson.JsonParser;
 import de.deadlocker8.budgetmaster.database.legacy.LegacyParser;
-import de.thecodelabs.logger.Logger;
 import de.tobias.utils.util.Localization;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 public class DatabaseParser
 {
+	final Logger LOGGER = LoggerFactory.getLogger(this.getClass());
 	private String jsonString;
 
 	public DatabaseParser(String json)
@@ -27,19 +29,19 @@ public class DatabaseParser
 			}
 
 			int version = root.get("VERSION").getAsInt();
-			Logger.info("Parsing Budgetmaster database with version " + version);
+			LOGGER.info("Parsing Budgetmaster database with version " + version);
 
 			if(version == 2)
 			{
 				Database database = new LegacyParser(jsonString).parseDatabaseFromJSON();
-				Logger.debug("Parsed database with " + database.getTransactions().size() + " transactions, " + database.getCategories().size() + " categories and " + database.getAccounts().size() + " accounts");
+				LOGGER.debug("Parsed database with " + database.getTransactions().size() + " transactions, " + database.getCategories().size() + " categories and " + database.getAccounts().size() + " accounts");
 				return database;
 			}
 
 			if(version == 3)
 			{
 				Database database = new DatabaseParser_v3(jsonString).parseDatabaseFromJSON();
-				Logger.debug("Parsed database with " + database.getTransactions().size() + " transactions, " + database.getCategories().size() + " categories and " + database.getAccounts().size() + " accounts");
+				LOGGER.debug("Parsed database with " + database.getTransactions().size() + " transactions, " + database.getCategories().size() + " categories and " + database.getAccounts().size() + " accounts");
 				return database;
 			}
 
diff --git a/src/main/java/de/deadlocker8/budgetmaster/database/DatabaseParser_v3.java b/src/main/java/de/deadlocker8/budgetmaster/database/DatabaseParser_v3.java
index eb51ace2973bc3d711e66dd62139e529893b0fad..7a2addbc9bef1f2329bdd8686adbbc2d09e08987 100644
--- a/src/main/java/de/deadlocker8/budgetmaster/database/DatabaseParser_v3.java
+++ b/src/main/java/de/deadlocker8/budgetmaster/database/DatabaseParser_v3.java
@@ -8,12 +8,15 @@ import de.deadlocker8.budgetmaster.repeating.modifier.*;
 import de.tobias.utils.util.Localization;
 import org.joda.time.DateTime;
 import org.joda.time.format.DateTimeFormat;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 import java.util.ArrayList;
 import java.util.List;
 
 public class DatabaseParser_v3
 {
+	final Logger LOGGER = LoggerFactory.getLogger(this.getClass());
 	private String jsonString;
 	private List<Category> categories;
 	private List<Account> accounts;
diff --git a/src/main/java/de/deadlocker8/budgetmaster/services/AccountService.java b/src/main/java/de/deadlocker8/budgetmaster/services/AccountService.java
index b1472a4c3256189d514409189b975942ab20df23..2248dd14645a0f62330975d4ed46e5b808e0208e 100644
--- a/src/main/java/de/deadlocker8/budgetmaster/services/AccountService.java
+++ b/src/main/java/de/deadlocker8/budgetmaster/services/AccountService.java
@@ -6,8 +6,9 @@ import de.deadlocker8.budgetmaster.entities.Account;
 import de.deadlocker8.budgetmaster.repositories.AccountRepository;
 import de.deadlocker8.budgetmaster.repositories.TransactionRepository;
 import de.deadlocker8.budgetmaster.utils.Strings;
-import de.thecodelabs.logger.Logger;
 import de.tobias.utils.util.Localization;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
@@ -17,6 +18,7 @@ import java.util.List;
 @Service
 public class AccountService implements Resetable
 {
+	private final Logger LOGGER = LoggerFactory.getLogger(this.getClass());
 	private AccountRepository accountRepository;
 	private TransactionRepository transactionRepository;
 	private UserRepository userRepository;
@@ -70,7 +72,7 @@ public class AccountService implements Resetable
 			Account account = new Account(Localization.getString(Strings.ACCOUNT_DEFAULT_NAME));
 			account = accountRepository.save(account);
 			selectAccount(account.getID());
-			Logger.debug("Created default account");
+			LOGGER.debug("Created default account");
 		}
 	}
 
diff --git a/src/main/java/de/deadlocker8/budgetmaster/services/CategoryService.java b/src/main/java/de/deadlocker8/budgetmaster/services/CategoryService.java
index 2ce8a67db91b9b351a4756a6352f37f6a3c9d8f5..a9a4bb16a0da04175099f84cb8c6fe80a1849345 100644
--- a/src/main/java/de/deadlocker8/budgetmaster/services/CategoryService.java
+++ b/src/main/java/de/deadlocker8/budgetmaster/services/CategoryService.java
@@ -5,8 +5,9 @@ import de.deadlocker8.budgetmaster.entities.CategoryType;
 import de.deadlocker8.budgetmaster.entities.Transaction;
 import de.deadlocker8.budgetmaster.repositories.CategoryRepository;
 import de.deadlocker8.budgetmaster.utils.Strings;
-import de.thecodelabs.logger.Logger;
 import de.tobias.utils.util.Localization;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
@@ -15,6 +16,7 @@ import java.util.List;
 @Service
 public class CategoryService implements Resetable
 {
+	private final Logger LOGGER = LoggerFactory.getLogger(this.getClass());
 	private CategoryRepository categoryRepository;
 
 	@Autowired
@@ -57,13 +59,13 @@ public class CategoryService implements Resetable
 		if(categoryRepository.findByType(CategoryType.NONE) == null)
 		{
 			categoryRepository.save(new Category(Localization.getString(Strings.CATEGORY_NONE), "#FFFFFF", CategoryType.NONE));
-			Logger.debug("Created default category NONE");
+			LOGGER.debug("Created default category NONE");
 		}
 
 		if(categoryRepository.findByType(CategoryType.REST) == null)
 		{
 			categoryRepository.save(new Category(Localization.getString(Strings.CATEGORY_REST), "#FFFF00", CategoryType.REST));
-			Logger.debug("Created default category REST");
+			LOGGER.debug("Created default category REST");
 		}
 	}
 }
diff --git a/src/main/java/de/deadlocker8/budgetmaster/services/DatabaseService.java b/src/main/java/de/deadlocker8/budgetmaster/services/DatabaseService.java
index cd448af1ca885090f94e76097647380b83bb4284..489664120accd07905b86dde44e0daa38a8253ef 100644
--- a/src/main/java/de/deadlocker8/budgetmaster/services/DatabaseService.java
+++ b/src/main/java/de/deadlocker8/budgetmaster/services/DatabaseService.java
@@ -5,9 +5,10 @@ import de.deadlocker8.budgetmaster.database.Database;
 import de.deadlocker8.budgetmaster.entities.Account;
 import de.deadlocker8.budgetmaster.entities.Category;
 import de.deadlocker8.budgetmaster.entities.Transaction;
-import de.thecodelabs.logger.Logger;
 import org.joda.time.DateTime;
 import org.joda.time.format.ISODateTimeFormat;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
@@ -17,6 +18,7 @@ import java.util.List;
 @Service
 public class DatabaseService
 {
+	private final Logger LOGGER = LoggerFactory.getLogger(this.getClass());
 	private AccountService accountService;
 	private CategoryService categoryService;
 	private TransactionService transactionService;
@@ -41,34 +43,34 @@ public class DatabaseService
 
 	private void resetAccounts()
 	{
-		Logger.info("Resetting accounts...");
+		LOGGER.info("Resetting accounts...");
 		accountService.deleteAll();
 		accountService.createDefaults();
-		Logger.info("All accounts reset.");
+		LOGGER.info("All accounts reset.");
 	}
 
 	private void resetCategories()
 	{
-		Logger.info("Resetting categories...");
+		LOGGER.info("Resetting categories...");
 		categoryService.deleteAll();
 		categoryService.createDefaults();
-		Logger.info("All categories reset.");
+		LOGGER.info("All categories reset.");
 	}
 
 	private void resetTransactions()
 	{
-		Logger.info("Resetting transactions...");
+		LOGGER.info("Resetting transactions...");
 		transactionService.deleteAll();
 		transactionService.createDefaults();
-		Logger.info("All transactions reset.");
+		LOGGER.info("All transactions reset.");
 	}
 
 	private void resetTags()
 	{
-		Logger.info("Resetting tags...");
+		LOGGER.info("Resetting tags...");
 		tagService.deleteAll();
 		tagService.createDefaults();
-		Logger.info("All tags reset.");
+		LOGGER.info("All tags reset.");
 	}
 
 	public String getDatabaseAsJSON()
diff --git a/src/main/java/de/deadlocker8/budgetmaster/services/ImportService.java b/src/main/java/de/deadlocker8/budgetmaster/services/ImportService.java
index f0e84fda651090fe448eb92fa2befdf208a2ec3d..135feb761677982bd6a484fad5a44e6308909add 100644
--- a/src/main/java/de/deadlocker8/budgetmaster/services/ImportService.java
+++ b/src/main/java/de/deadlocker8/budgetmaster/services/ImportService.java
@@ -10,6 +10,8 @@ import de.deadlocker8.budgetmaster.entities.Transaction;
 import de.deadlocker8.budgetmaster.repositories.CategoryRepository;
 import de.deadlocker8.budgetmaster.repositories.TagRepository;
 import de.deadlocker8.budgetmaster.repositories.TransactionRepository;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
@@ -19,6 +21,7 @@ import java.util.List;
 @Service
 public class ImportService
 {
+	private final Logger LOGGER = LoggerFactory.getLogger(this.getClass());
 	@Autowired
 	private CategoryRepository categoryRepository;
 	@Autowired
diff --git a/src/main/java/de/deadlocker8/budgetmaster/services/SettingsService.java b/src/main/java/de/deadlocker8/budgetmaster/services/SettingsService.java
index 622ff4616f3d6a0500e1438a0ff05ad690e39e74..9addb0d6d7ab5532fd119aa09749bccc42dd6133 100644
--- a/src/main/java/de/deadlocker8/budgetmaster/services/SettingsService.java
+++ b/src/main/java/de/deadlocker8/budgetmaster/services/SettingsService.java
@@ -2,13 +2,15 @@ package de.deadlocker8.budgetmaster.services;
 
 import de.deadlocker8.budgetmaster.entities.Settings;
 import de.deadlocker8.budgetmaster.repositories.SettingsRepository;
-import de.thecodelabs.logger.Logger;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
 @Service
 public class SettingsService
 {
+	private final Logger LOGGER = LoggerFactory.getLogger(this.getClass());
 	private SettingsRepository settingsRepository;
 
 	@Autowired
@@ -23,7 +25,7 @@ public class SettingsService
 		if(settingsRepository.findOne(0) == null)
 		{
 			settingsRepository.save(Settings.getDefault());
-			Logger.debug("Created default settings");
+			LOGGER.debug("Created default settings");
 		}
 	}
 
diff --git a/src/main/java/de/deadlocker8/budgetmaster/services/TagService.java b/src/main/java/de/deadlocker8/budgetmaster/services/TagService.java
index fa306491209ac756b791ba37ae4e55801dad1ed1..e5f767dcff2624a737e8b289a7ee6eaa42678995 100644
--- a/src/main/java/de/deadlocker8/budgetmaster/services/TagService.java
+++ b/src/main/java/de/deadlocker8/budgetmaster/services/TagService.java
@@ -1,12 +1,15 @@
 package de.deadlocker8.budgetmaster.services;
 
 import de.deadlocker8.budgetmaster.repositories.TagRepository;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
 @Service
 public class TagService implements Resetable
 {
+	private final Logger LOGGER = LoggerFactory.getLogger(this.getClass());
 	private TagRepository tagRepository;
 
 	@Autowired
diff --git a/src/main/java/de/deadlocker8/budgetmaster/services/TransactionService.java b/src/main/java/de/deadlocker8/budgetmaster/services/TransactionService.java
index b3799e249fe4df23dcb9c8c4541930b948d2456e..2310cf6e8dc5e9062a1832b09f218ec40db4dcb9 100644
--- a/src/main/java/de/deadlocker8/budgetmaster/services/TransactionService.java
+++ b/src/main/java/de/deadlocker8/budgetmaster/services/TransactionService.java
@@ -10,6 +10,8 @@ import de.deadlocker8.budgetmaster.utils.Strings;
 import de.tobias.utils.util.Localization;
 import org.joda.time.DateTime;
 import org.joda.time.format.ISODateTimeFormat;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
@@ -18,6 +20,7 @@ import java.util.List;
 @Service
 public class TransactionService implements Resetable
 {
+	private final Logger LOGGER = LoggerFactory.getLogger(this.getClass());
 	private TransactionRepository transactionRepository;
 	private RepeatingOptionRepository repeatingOptionRepository;
 	private CategoryRepository categoryRepository;
diff --git a/src/test/java/de/deadlocker8/budgetmaster/database/DatabaseParser_v3Test.java b/src/test/java/de/deadlocker8/budgetmaster/database/DatabaseParser_v3Test.java
index 4ffccc79aa8d232fa743fa4e13be1c1223ab6bb2..b9b1584578b8c9f06ee8127e0f14d79118bd01ab 100644
--- a/src/test/java/de/deadlocker8/budgetmaster/database/DatabaseParser_v3Test.java
+++ b/src/test/java/de/deadlocker8/budgetmaster/database/DatabaseParser_v3Test.java
@@ -4,7 +4,6 @@ import de.deadlocker8.budgetmaster.entities.*;
 import de.deadlocker8.budgetmaster.repeating.RepeatingOption;
 import de.deadlocker8.budgetmaster.repeating.endoption.RepeatingEndAfterXTimes;
 import de.deadlocker8.budgetmaster.repeating.modifier.RepeatingModifierDays;
-import de.thecodelabs.logger.Logger;
 import de.tobias.utils.util.Localization;
 import de.tobias.utils.util.Localization.LocalizationDelegate;
 import org.joda.time.DateTime;
@@ -69,7 +68,7 @@ public class DatabaseParser_v3Test
 		}
 		catch(IOException | URISyntaxException e)
 		{
-			Logger.error(e);
+			e.printStackTrace();
 		}
 	}
 
@@ -88,7 +87,7 @@ public class DatabaseParser_v3Test
 		}
 		catch(IOException | URISyntaxException e)
 		{
-			Logger.error(e);
+			e.printStackTrace();
 		}
 	}
 
@@ -174,7 +173,7 @@ public class DatabaseParser_v3Test
 		}
 		catch(IOException | URISyntaxException e)
 		{
-			Logger.error(e);
+			e.printStackTrace();
 		}
 	}
 }
\ No newline at end of file
diff --git a/src/test/java/de/deadlocker8/budgetmaster/database/LegacyParserTest.java b/src/test/java/de/deadlocker8/budgetmaster/database/LegacyParserTest.java
index 6b082834aa21a82b88fdcfaa6acd34dbb174c41f..6a1a3ad39fba6dcb59c467f30f761f7d5c4a712c 100644
--- a/src/test/java/de/deadlocker8/budgetmaster/database/LegacyParserTest.java
+++ b/src/test/java/de/deadlocker8/budgetmaster/database/LegacyParserTest.java
@@ -7,7 +7,6 @@ import de.deadlocker8.budgetmaster.repeating.endoption.RepeatingEndDate;
 import de.deadlocker8.budgetmaster.repeating.endoption.RepeatingEndNever;
 import de.deadlocker8.budgetmaster.repeating.modifier.RepeatingModifierDays;
 import de.deadlocker8.budgetmaster.repeating.modifier.RepeatingModifierMonths;
-import de.thecodelabs.logger.Logger;
 import org.joda.time.DateTime;
 import org.joda.time.format.DateTimeFormat;
 import org.junit.Test;
@@ -45,7 +44,7 @@ public class LegacyParserTest
 		}
 		catch(IOException | URISyntaxException e)
 		{
-			Logger.error(e);
+			e.printStackTrace();
 		}
 	}
 
@@ -63,7 +62,7 @@ public class LegacyParserTest
 		}
 		catch(IOException | URISyntaxException e)
 		{
-			Logger.error(e);
+			e.printStackTrace();
 		}
 	}
 
@@ -143,7 +142,7 @@ public class LegacyParserTest
 		}
 		catch(IOException | URISyntaxException e)
 		{
-			Logger.error(e);
+			e.printStackTrace();
 		}
 	}
 }
\ No newline at end of file