Index: src/sas/logger_config.py
===================================================================
--- src/sas/logger_config.py	(revision cee5c78929349ae10afc88cb8b95e0c907f1826a)
+++ src/sas/logger_config.py	(revision 5dba493865ca4dde5a4220a06e044a33a56ae211)
@@ -8,4 +8,5 @@
 import pkg_resources
 
+import sas.qtgui.Utilities.LocalConfig as LocalConfig
 
 '''
@@ -29,4 +30,8 @@
             logging.captureWarnings(True)
             logger = logging.getLogger(self.name)
+
+        # use this as a final override if the need arises
+        logging.disable(LocalConfig.DISABLE_LOGGING)
+
         return logger
 
@@ -38,4 +43,8 @@
         self._update_all_logs_to_debug(logger)
         logging.captureWarnings(True)
+
+        # use this as a final override if the need arises
+        logging.disable(LocalConfig.DISABLE_LOGGING)
+
         return logger
 
@@ -49,9 +58,7 @@
         '''
         for handler in logger.handlers or logger.parent.handlers:
-            #handler.setLevel(logging.DEBUG)
-            handler.setLevel(logging.WARNING)
+            handler.setLevel(logging.DEBUG)
         for name, _ in logging.Logger.manager.loggerDict.items():
-            #logging.getLogger(name).setLevel(logging.DEBUG)
-            logging.getLogger(name).setLevel(logging.WARNING)
+            logging.getLogger(name).setLevel(logging.DEBUG)
 
     def _find_config_file(self, filename="logging.ini"):
Index: src/sas/logging.ini
===================================================================
--- src/sas/logging.ini	(revision 7c105e8be85f8686d7808e51eb16d79bb96fdda9)
+++ src/sas/logging.ini	(revision 5dba493865ca4dde5a4220a06e044a33a56ae211)
@@ -12,5 +12,6 @@
 #format=%(asctime)s - %(name)s - %(levelname)s - %(message)s
 #format=%(asctime)s - %(levelname)s : %(name)s:%(pathname)s:%(lineno)4d: %(message)s
-format=%(asctime)s - %(levelname)s : %(name)s:%(lineno)4d: %(message)s
+#format=%(asctime)s - %(levelname)s : %(name)s:%(lineno)4d: %(message)s
+format=%(asctime)s - %(levelname)s: %(message)s
 datefmt=%H:%M:%S
 
Index: src/sas/qtgui/MainWindow/MainWindow.py
===================================================================
--- src/sas/qtgui/MainWindow/MainWindow.py	(revision a3221b61cb987c01cf74c03ef08544847fe3aa6a)
+++ src/sas/qtgui/MainWindow/MainWindow.py	(revision 5dba493865ca4dde5a4220a06e044a33a56ae211)
@@ -10,7 +10,4 @@
 from sas.qtgui.UI import main_resources_rc
 from .UI.MainWindowUI import Ui_MainWindow
-
-# Initialize logging
-import sas.qtgui.Utilities.SasviewLogger
 
 class MainSasViewWindow(QMainWindow, Ui_MainWindow):
Index: src/sas/qtgui/Perspectives/Fitting/FittingWidget.py
===================================================================
--- src/sas/qtgui/Perspectives/Fitting/FittingWidget.py	(revision e20870bce5dcfe5fc479f9b0858c50abf55ae0d0)
+++ src/sas/qtgui/Perspectives/Fitting/FittingWidget.py	(revision 5dba493865ca4dde5a4220a06e044a33a56ae211)
@@ -106,7 +106,4 @@
         # Globals
         self.initializeGlobals()
-
-        # Set up desired logging level
-        logging.disable(LocalConfig.DISABLE_LOGGING)
 
         # data index for the batch set
Index: src/sas/qtgui/Utilities/LocalConfig.py
===================================================================
--- src/sas/qtgui/Utilities/LocalConfig.py	(revision a0ed202728d13322ac8ffc4fa02e27b30aa65158)
+++ src/sas/qtgui/Utilities/LocalConfig.py	(revision 5dba493865ca4dde5a4220a06e044a33a56ae211)
@@ -136,12 +136,9 @@
 USING_TWISTED = True
 
-# Logging levels to disable, if any
-DISABLE_LOGGING = logging.DEBUG
-
 # Time out for updating sasview
 UPDATE_TIMEOUT = 2
 
 # Logging levels to disable, if any
-DISABLE_LOGGING = logging.DEBUG
+DISABLE_LOGGING = logging.NOTSET
 
 def printEVT(message):
Index: src/sas/qtgui/Utilities/SasviewLogger.py
===================================================================
--- src/sas/qtgui/Utilities/SasviewLogger.py	(revision 4992ff2626be19df7de9e5dfc0078b96bf47a75e)
+++ src/sas/qtgui/Utilities/SasviewLogger.py	(revision 5dba493865ca4dde5a4220a06e044a33a56ae211)
@@ -7,7 +7,26 @@
 
 class XStream(QObject):
+    """
+    Imitates, loosely, an `io.TextIOWrapper` class in order to intercept
+    messages going to stdout and stderr.
+
+    To intercept messages to stdout, use:
+
+    .. code-block:: python
+       XStream.stdout().messageWritten.mySignalHandler()
+
+    All messages to stdout will now also be emitted to your handler. Use
+    `XStream.stderr()` in the same way to intercept stderr messages.
+
+    An additional function, `XStream.write_log()`, emits a message only to the
+    messageWritten signal, and not the stdout or stderr streams. It is intended
+    for separation of log handling between console and Qt, as reflected in the
+    name.
+    """
     _stdout = None
     _stderr = None
     messageWritten = pyqtSignal(str)
+
+    _real_stream = None
 
     def flush(self):
@@ -18,4 +37,26 @@
 
     def write(self, msg):
+        """
+        'msg' is emitted in the messageWritten signal, and is also written to
+        the original stream. This means stdout/stderr messages have been
+        redirected to a custom location (e.g. in-widget), but also reach
+        console output.
+
+        :param msg: message to write
+        :return: None
+        """
+        if(not self.signalsBlocked()):
+            self.messageWritten.emit(str(msg))
+        self._real_stream.write(msg)
+
+    def write_log(self, msg):
+        """
+        'msg' is only emitted in the messageWritten signal, not in the original
+        stdout/stderr stream, for the purposes of logging. Use in, e.g. a
+        custom logging handler's emit() function.
+
+        :param msg: message to write
+        :return: None
+        """
         if(not self.signalsBlocked()):
             self.messageWritten.emit(str(msg))
@@ -23,6 +64,13 @@
     @staticmethod
     def stdout():
+        """
+        Creates imitation of sys.stdout.
+        :return: An XStream instance that interfaces exactly like sys.stdout,
+                 but, has redirection capabilities through the
+                 messageWritten(str) signal.
+        """
         if(not XStream._stdout):
             XStream._stdout = XStream()
+            XStream._stdout._real_stream = sys.stdout
             sys.stdout = XStream._stdout
         return XStream._stdout
@@ -30,13 +78,20 @@
     @staticmethod
     def stderr():
+        """
+        Creates imitation of sys.stderr.
+        :return: An XStream instance that interfaces exactly like sys.stderr,
+                 but, has redirection capabilities through the
+                 messageWritten(str) signal.
+        """
         if(not XStream._stderr):
             XStream._stderr = XStream()
+            XStream._stderr._real_stream = sys.stderr
             sys.stderr = XStream._stderr
         return XStream._stderr
 
+
 class QtHandler(logging.Handler):
     """
-    Version of logging handler
-    "emitting" the message to custom stdout()
+    Version of logging handler "emitting" the message to custom stdout()
     """
     def __init__(self):
@@ -46,5 +101,5 @@
         record = self.format(record)
         if record:
-            XStream.stdout().write('%s\n'%record)
+            XStream.stdout().write_log('%s\n'%record)
 
 
@@ -52,11 +107,9 @@
 logger = logging.getLogger()
 
-# Add the file handler
-logging.basicConfig(level=logging.INFO,
-                    format='%(asctime)s %(levelname)s %(message)s',
-                    filename=os.path.join(os.path.expanduser("~"),
-                                          'sasview.log'))
 # Add the qt-signal logger
 handler = QtHandler()
-handler.setFormatter(logging.Formatter("%(levelname)s: %(message)s"))
+handler.setFormatter(logging.Formatter(
+    fmt="%(asctime)s - %(levelname)s: %(message)s",
+    datefmt="%H:%M:%S"
+))
 logger.addHandler(handler)
