diff --git a/settings/branson.py b/settings/branson.py
index 10230554f6cbe1cddfe029fd36d475c61ae18423..7e852563524fab93c464d23be510d0747749af9d 100644
--- a/settings/branson.py
+++ b/settings/branson.py
@@ -1,7 +1,3 @@
-# XXX I know import * is ugly, but I want the stuff from logSettings to be
-# in this namespace.
-from logSettings import *
-
 CONFIG_NAME = "Branson"
 
 DEBUG = True
@@ -87,3 +83,144 @@ INSTALLED_APPS = (
 INTERNAL_IPS = (
     '129.89.61.55',
 )
+
+
+# Settings for Logging.
+import logging
+
+LOG_ROOT = '/home/branson/logs'
+LOG_FILE_SIZE = 1024*1024 # 1 MB
+LOG_FILE_BAK_CT = 3
+LOG_FORMAT = 'verbose'
+LOG_LEVEL = 'DEBUG'
+
+# Filter objects to separate out each level of alert.
+# Otherwise the log files for each level would contain the
+# output for each higher level.
+class debugOnlyFilter(logging.Filter):
+    def filter(self,record):
+        if record.levelname=='DEBUG':
+            return 1
+        return 0
+class infoOnlyFilter(logging.Filter):
+    def filter(self,record):
+        if record.levelname=='INFO':
+            return 1
+        return 0
+class debugPlusInfo(logging.Filter):
+    def filter(self,record):
+        if record.levelname=='INFO' or record.levelname=='DEBUG':
+            return 1
+        return 0
+class warningOnlyFilter(logging.Filter):
+    def filter(self,record):
+        if record.levelname=='WARNING':
+            return 1
+        return 0
+class errorOnlyFilter(logging.Filter):
+    def filter(self,record):
+        if record.levelname=='ERROR':
+            return 1
+        return 0
+
+# Note that mode for log files is 'a' (append) by default
+# The 'level' specifier on the handle is optional, and we
+# don't need it since we're using custom filters.
+LOGGING = {
+    'version': 1,
+    'disable_existing_loggers' : True,
+    'formatters': {
+        'simple': {
+            'format': '%(levelname)s %(message)s',
+        },
+        'verbose': {
+            'format': '%(asctime)s: %(name)s: %(message)s',
+            'datefmt': '%Y-%m-%d %H:%M:%S',
+        },
+    },
+    'filters': {
+        'debugOnly': {
+            '()': 'settings.logSettings.debugOnlyFilter',
+        },
+        'infoOnly': {
+            '()': 'settings.logSettings.infoOnlyFilter',
+        },
+        'debugPlusInfo': {
+            '()': 'settings.logSettings.debugPlusInfo',
+        },
+        'warningOnly': {
+            '()': 'settings.logSettings.warningOnlyFilter',
+        },
+        'errorOnly': {
+            '()': 'settings.logSettings.errorOnlyFilter',
+        },
+    },
+    'handlers': {
+        'null': {
+            'level':'DEBUG',
+            'class':'django.utils.log.NullHandler',
+        },
+        'debug_file': {
+            'class': 'logging.handlers.RotatingFileHandler',
+            'formatter': LOG_FORMAT,
+#           Commented out so that the debug file will have *everything*  
+#           That should make it somewhat easier to read through.                        
+#            'filters': ['debugPlusInfo'],
+            'filename': '%s/gracedb_debug.log' % LOG_ROOT,
+            'maxBytes': LOG_FILE_SIZE,
+            'backupCount': LOG_FILE_BAK_CT,
+        },
+#        'info_file': {
+#            'class': 'logging.handlers.RotatingFileHandler',
+#            'formatter': LOG_FORMAT,
+#            'filters': ['infoOnly'],
+#            'filename': '%s/gracedb_info.log' % LOG_ROOT,
+#            'maxBytes': LOG_FILE_SIZE,
+#            'backupCount': LOG_FILE_BAK_CT,
+#        },
+#        'warning_file': {
+#            'class': 'logging.handlers.RotatingFileHandler',
+#            'formatter': LOG_FORMAT,
+#            'filters': ['warningOnly'],
+#            'filename': '%s/gracedb_warning.log' % LOG_ROOT,
+#            'maxBytes': LOG_FILE_SIZE,
+#            'backupCount': LOG_FILE_BAK_CT,
+#        },  
+#        'error_file': {
+#            'class': 'logging.handlers.RotatingFileHandler',
+#            'formatter': LOG_FORMAT,
+#            'filters': ['errorOnly'],
+#            'filename': '%s/gracedb_error.log' % LOG_ROOT,
+#            'maxBytes': LOG_FILE_SIZE,
+#            'backupCount': LOG_FILE_BAK_CT,
+#        },  
+       'performance_file': {
+            'class': 'logging.FileHandler',
+            'formatter': 'simple',
+            'filename': '%s/gracedb_performance.log' % LOG_ROOT,
+        },
+    },
+    'loggers': {
+        'django': {
+            'handlers': ['null'],
+            'propagate': True,
+            'level': 'INFO',
+        },
+        'gracedb': {
+#            'handlers': ['debug_file', 'info_file', 'warning_file', 'error_file'],
+            'handlers': ['debug_file'],
+            'propagate': True,
+            'level': LOG_LEVEL,
+        },
+        'middleware': {
+            'handlers': ['performance_file'],
+            'propagate': True,
+            'level': 'INFO',
+        }, 
+#        'userprofile': {
+#            'handlers': ['debug_file', 'info_file', 'warning_file', 'error_file'],
+#            'propagate': True,
+#            'level': LOG_LEVEL,
+#        },
+   },
+}