diff --git a/Changelog.md b/Changelog.md
index e20f85e311e15ea3c9b231bd04fc2d73ce2c09ee..e14e1332ae2a3c43e45a7ff59dc2f766b007382a 100644
--- a/Changelog.md
+++ b/Changelog.md
@@ -1,8 +1,12 @@
 # 0.5.2.0
 
-# Refactor
+## Refactor
 * Update perfect-scrollbar [#6085](https://github.com/diaspora/diaspora/pull/6085)
 
+## Features
+* Add configuration options for some debug logs [#6090](https://github.com/diaspora/diaspora/pull/6090)
+
+
 # 0.5.1.0
 
 ## Refactor
diff --git a/config/defaults.yml b/config/defaults.yml
index 82302d8f21b72832734d8eb8e679554e44e01581..f48bea6fa8596c0cd8ed04c4867cb8bc3e43d77b 100644
--- a/config/defaults.yml
+++ b/config/defaults.yml
@@ -35,6 +35,9 @@ defaults:
       logrotate:
         enable: true
         days: 7
+      debug:
+        sql: false
+        federation: false
   server:
     port:
     listen: '0.0.0.0:3000'
diff --git a/config/diaspora.yml.example b/config/diaspora.yml.example
index 5214dd0de694c0969b4bab2a79a82b5d8e78624a..3fe5f2ca17a42fb24d83f278da869a6130dddcde 100644
--- a/config/diaspora.yml.example
+++ b/config/diaspora.yml.example
@@ -149,6 +149,17 @@ configuration: ## Section
         ## The number of days to keep (default=7)
         #days: 7
 
+      ## Debug logging
+      debug: ## Section
+
+        ## Enables the debug-logging for SQL (default=false)
+        ## This logs every SQL-statement!
+        #sql: true
+
+        ## Enables the federation-debug-log (default=false)
+        ## This logs all XMLs that are used for the federation
+        #federation: true
+
   ## Settings affecting how ./script/server behaves.
   server: ## Section
     ## Where the appserver should listen to (default=0.0.0.0:3000)
diff --git a/config/logging.rb b/config/logging.rb
index 77214f7a4c58344504d2ec068a781fe85796d09d..b29130f67044c5fcca95a5b0eafcbb8cd8f04a32 100644
--- a/config/logging.rb
+++ b/config/logging.rb
@@ -79,9 +79,15 @@ Logging::Rails.configure do |config|
   #
   #     config.log_to = %w[stdout file]
   #
-  Logging.logger.root.level = config.log_level
   Logging.logger.root.appenders = config.log_to unless config.log_to.empty?
 
+  # Default log-level (development=debug, production=info)
+  Logging.logger.root.level = config.log_level
+
+  # log-levels from the diaspora.yml for SQL and federation debug-logging
+  Logging.logger[ActiveRecord::Base].level = AppConfig.environment.logging.debug.sql? ? :debug : :info
+  Logging.logger["XMLLogger"].level = AppConfig.environment.logging.debug.federation? ? :debug : :info
+
   # Under Phusion Passenger smart spawning, we need to reopen all IO streams
   # after workers have forked.
   #