Index: .gitignore
===================================================================
--- .gitignore	(revision 6722faebe3d76c3e0dbfecf0dc18cc8d3dfb97a2)
+++ .gitignore	(revision c155a16ca3fb1da7057f151c62510d780700b9e8)
@@ -10,4 +10,5 @@
 # Feel free to add more stuff to this as and when it becomes an issue.
 
+.DS_Store
 .project
 .pydevproject
Index: sasview/__init__.py
===================================================================
--- sasview/__init__.py	(revision 220b1e78c0098906e14ad2dd815fdf5a862912fd)
+++ sasview/__init__.py	(revision c155a16ca3fb1da7057f151c62510d780700b9e8)
@@ -1,6 +1,9 @@
 __version__ = "4.1"
 __build__ = "GIT_COMMIT"
+
+import logging
+logger = logging.getLogger()
+
 try:
-    import logging
     import subprocess
     import os
@@ -16,3 +19,3 @@
     __build__ = str(git_revision).strip()
 except subprocess.CalledProcessError as cpe:
-    logging.warning("Error while determining build number\n  Using command:\n %s \n Output:\n %s"% (cpe.cmd,cpe.output))
+    logger.warning("Error while determining build number\n  Using command:\n %s \n Output:\n %s"% (cpe.cmd,cpe.output))
Index: sasview/local_config.py
===================================================================
--- sasview/local_config.py	(revision f9d1f609ce36aae44396ad86ba1db9146a4234b3)
+++ sasview/local_config.py	(revision c155a16ca3fb1da7057f151c62510d780700b9e8)
@@ -7,4 +7,6 @@
 import sas.sasview
 import logging
+
+logger = logging.getLogger()
 
 # Version of the application
@@ -57,5 +59,5 @@
 
 icon_path = os.path.abspath(os.path.join(os.path.dirname(__file__), "images"))
-logging.info("icon path: %s" % icon_path)
+logger.info("icon path: %s" % icon_path)
 media_path = os.path.abspath(os.path.join(os.path.dirname(__file__), "media"))
 test_path = os.path.abspath(os.path.join(os.path.dirname(__file__), "test"))
Index: sasview/logging.ini
===================================================================
--- sasview/logging.ini	(revision 6722faebe3d76c3e0dbfecf0dc18cc8d3dfb97a2)
+++ sasview/logging.ini	(revision c155a16ca3fb1da7057f151c62510d780700b9e8)
@@ -43,5 +43,5 @@
 
 [logger_sasgui]
-level=DEBUG
+level=INFO
 qualname=sas.sasgui
 handlers=console,log_file
@@ -51,2 +51,3 @@
 qualname=sas.sascalc
 handlers=console,log_file
+
Index: src/sas/sascalc/calculator/resolution_calculator.py
===================================================================
--- src/sas/sascalc/calculator/resolution_calculator.py	(revision b699768550de9d4b35b087234ec1d2a461922bab)
+++ src/sas/sascalc/calculator/resolution_calculator.py	(revision c155a16ca3fb1da7057f151c62510d780700b9e8)
@@ -15,4 +15,6 @@
 import sys
 import logging
+
+logger = logging.getLogger()
 
 #Plank's constant in cgs unit
@@ -1006,5 +1008,5 @@
             detector_offset = self.sample2detector_distance[1]
         except:
-            logging.error(sys.exc_value)
+            logger.error(sys.exc_value)
 
         # detector size in [no of pix_x,no of pix_y]
@@ -1093,5 +1095,5 @@
             output.qy_data = qy_value
         except:
-            logging.error(sys.exc_value)
+            logger.error(sys.exc_value)
 
         return output
Index: src/sas/sascalc/calculator/sas_gen.py
===================================================================
--- src/sas/sascalc/calculator/sas_gen.py	(revision d2fd8fc62a44e402ef17815b5b0bf932d5332ff0)
+++ src/sas/sascalc/calculator/sas_gen.py	(revision c155a16ca3fb1da7057f151c62510d780700b9e8)
@@ -12,4 +12,6 @@
 import sys
 import logging
+
+logger = logging.getLogger()
 
 MFACTOR_AM = 2.853E-12
@@ -285,5 +287,5 @@
                 mask = (x_dir2 + y_dir2 + z_dir2) <= 1.0
             except:
-                logging.error(sys.exc_value)
+                logger.error(sys.exc_value)
         self.output = MagSLD(self.pos_x[mask], self.pos_y[mask],
                              self.pos_z[mask], self.sld_n[mask],
@@ -394,5 +396,5 @@
                 except:
                     # Skip non-data lines
-                    logging.error(sys.exc_value)
+                    logger.error(sys.exc_value)
                 #Reading Header; Segment count ignored
                 s_line = line.split(":", 1)
@@ -589,5 +591,5 @@
                         z_lines.append(z_line)
                 except:
-                    logging.error(sys.exc_value)
+                    logger.error(sys.exc_value)
 
             output = MagSLD(pos_x, pos_y, pos_z, sld_n, sld_mx, sld_my, sld_mz)
@@ -683,5 +685,5 @@
                     except:
                         # Skip non-data lines
-                        logging.error(sys.exc_value)
+                        logger.error(sys.exc_value)
             output = MagSLD(pos_x, pos_y, pos_z, sld_n,
                             sld_mx, sld_my, sld_mz)
Index: src/sas/sascalc/data_util/calcthread.py
===================================================================
--- src/sas/sascalc/data_util/calcthread.py	(revision 0de74afcaf1a275ffd2e71099f9e17e398dcc39a)
+++ src/sas/sascalc/data_util/calcthread.py	(revision c155a16ca3fb1da7057f151c62510d780700b9e8)
@@ -8,4 +8,5 @@
 import traceback
 import sys
+import logging
 
 if sys.platform.count("darwin") > 0:
@@ -21,4 +22,6 @@
     from time import clock
     from time import sleep
+
+logger = logging.getLogger()
 
 
@@ -244,5 +247,5 @@
                 pass
         import logging
-        logging.error(traceback.format_exc())
+        logger.error(traceback.format_exc())
         #print 'CalcThread exception',
 
Index: src/sas/sascalc/dataloader/loader.py
===================================================================
--- src/sas/sascalc/dataloader/loader.py	(revision b699768550de9d4b35b087234ec1d2a461922bab)
+++ src/sas/sascalc/dataloader/loader.py	(revision c155a16ca3fb1da7057f151c62510d780700b9e8)
@@ -32,4 +32,6 @@
 from readers import cansas_reader
 
+logger = logging.getLogger()
+
 class Registry(ExtensionRegistry):
     """
@@ -99,5 +101,5 @@
             msg = "DataLoader couldn't locate DataLoader plugin folder."
             msg += """ "%s" does not exist""" % dir
-            logging.warning(msg)
+            logger.warning(msg)
             return readers_found
 
@@ -117,5 +119,5 @@
                         msg = "Loader: Error importing "
                         msg += "%s\n  %s" % (item, sys.exc_value)
-                        logging.error(msg)
+                        logger.error(msg)
 
                 # Process zip files
@@ -139,10 +141,10 @@
                                 msg = "Loader: Error importing"
                                 msg += " %s\n  %s" % (mfile, sys.exc_value)
-                                logging.error(msg)
+                                logger.error(msg)
 
                     except:
                         msg = "Loader: Error importing "
                         msg += " %s\n  %s" % (item, sys.exc_value)
-                        logging.error(msg)
+                        logger.error(msg)
 
         return readers_found
@@ -190,5 +192,5 @@
                 msg = "Loader: Error accessing"
                 msg += " Reader in %s\n  %s" % (module.__name__, sys.exc_value)
-                logging.error(msg)
+                logger.error(msg)
         return reader_found
 
@@ -223,5 +225,5 @@
             msg = "Loader: Error accessing Reader "
             msg += "in %s\n  %s" % (loader.__name__, sys.exc_value)
-            logging.error(msg)
+            logger.error(msg)
         return reader_found
 
@@ -268,5 +270,5 @@
                 msg = "Loader: Error accessing Reader"
                 msg += " in %s\n  %s" % (module.__name__, sys.exc_value)
-                logging.error(msg)
+                logger.error(msg)
         return reader_found
 
Index: src/sas/sascalc/dataloader/readers/associations.py
===================================================================
--- src/sas/sascalc/dataloader/readers/associations.py	(revision e5c09cfdceff8c0c11f340ea2e16c5ebfed5a2a9)
+++ src/sas/sascalc/dataloader/readers/associations.py	(revision c155a16ca3fb1da7057f151c62510d780700b9e8)
@@ -18,4 +18,6 @@
 import logging
 import json
+
+logger = logging.getLogger()
 
 FILE_NAME = 'defaults.json'
@@ -67,5 +69,5 @@
                     msg = "read_associations: skipping association"
                     msg += " for %s\n  %s" % (ext.lower(), sys.exc_value)
-                    logging.error(msg)
+                    logger.error(msg)
     else:
         print "Could not find reader association settings\n  %s [%s]" % (__file__, os.getcwd())
@@ -81,5 +83,5 @@
     :param registry_function: function to be called to register each reader
     """
-    logging.info("register_readers is now obsolete: use read_associations()")
+    logger.info("register_readers is now obsolete: use read_associations()")
     import abs_reader
     import ascii_reader
Index: src/sas/sascalc/dataloader/readers/cansas_reader.py
===================================================================
--- src/sas/sascalc/dataloader/readers/cansas_reader.py	(revision 8434365120d0b226f06367f64c21b3bc835e1db5)
+++ src/sas/sascalc/dataloader/readers/cansas_reader.py	(revision c155a16ca3fb1da7057f151c62510d780700b9e8)
@@ -33,4 +33,6 @@
 import xml.dom.minidom
 from xml.dom.minidom import parseString
+
+logger = logging.getLogger()
 
 PREPROCESS = "xmlpreprocess"
@@ -1471,5 +1473,5 @@
                             self.errors.add(err_mess)
                             if optional:
-                                logging.info(err_mess)
+                                logger.info(err_mess)
                             else:
                                 raise ValueError, err_mess
@@ -1480,5 +1482,5 @@
                         self.errors.add(err_mess)
                         if optional:
-                            logging.info(err_mess)
+                            logger.info(err_mess)
                         else:
                             raise ValueError, err_mess
Index: src/sas/sascalc/dataloader/readers/danse_reader.py
===================================================================
--- src/sas/sascalc/dataloader/readers/danse_reader.py	(revision b699768550de9d4b35b087234ec1d2a461922bab)
+++ src/sas/sascalc/dataloader/readers/danse_reader.py	(revision c155a16ca3fb1da7057f151c62510d780700b9e8)
@@ -19,4 +19,6 @@
 from sas.sascalc.dataloader.data_info import Data2D, Detector
 from sas.sascalc.dataloader.manipulations import reader2D_converter
+
+logger = logging.getLogger()
 
 # Look for unit converter
@@ -142,5 +144,5 @@
                             error.append(err)
                         except:
-                            logging.info("Skipping line:%s,%s" %(data_str,
+                            logger.info("Skipping line:%s,%s" %(data_str,
                                                                 sys.exc_value))
             
@@ -196,5 +198,5 @@
                     msg = "Skipping entry (v1.0):%s,%s" % (str(data[i_pt]),
                                                            sys.exc_value)
-                    logging.info(msg)
+                    logger.info(msg)
                 
                 # Get bin number
@@ -271,5 +273,5 @@
                 raise ValueError, msg
             else:
-                logging.info("Danse_reader Reading %s \n" % filename)
+                logger.info("Danse_reader Reading %s \n" % filename)
             
             # Store loading process information
Index: src/sas/sascalc/dataloader/readers/tiff_reader.py
===================================================================
--- src/sas/sascalc/dataloader/readers/tiff_reader.py	(revision b699768550de9d4b35b087234ec1d2a461922bab)
+++ src/sas/sascalc/dataloader/readers/tiff_reader.py	(revision c155a16ca3fb1da7057f151c62510d780700b9e8)
@@ -16,5 +16,7 @@
 from sas.sascalc.dataloader.data_info import Data2D
 from sas.sascalc.dataloader.manipulations import reader2D_converter
-    
+
+logger = logging.getLogger()
+
 class Reader:
     """
@@ -76,5 +78,5 @@
                 value = float(val)
             except:
-                logging.error("tiff_reader: had to skip a non-float point")
+                logger.error("tiff_reader: had to skip a non-float point")
                 continue
             
Index: src/sas/sascalc/dataloader/readers/xml_reader.py
===================================================================
--- src/sas/sascalc/dataloader/readers/xml_reader.py	(revision a235f71571822c52f74fd1221fcd542805cf1277)
+++ src/sas/sascalc/dataloader/readers/xml_reader.py	(revision c155a16ca3fb1da7057f151c62510d780700b9e8)
@@ -18,4 +18,6 @@
 from lxml import etree
 from lxml.builder import E
+
+logger = logging.getLogger()
 
 PARSER = etree.ETCompatXMLParser(remove_comments=True, remove_pis=False)
@@ -71,5 +73,5 @@
             self.xmlroot = self.xmldoc.getroot()
         except etree.XMLSyntaxError as xml_error:
-            logging.info(xml_error)
+            logger.info(xml_error)
         except Exception:
             self.xml = None
@@ -88,5 +90,5 @@
             self.xmlroot = etree.fromstring(tag_soup)
         except etree.XMLSyntaxError as xml_error:
-            logging.info(xml_error)
+            logger.info(xml_error)
         except Exception:
             self.xml = None
@@ -102,5 +104,5 @@
             self.schemadoc = etree.parse(self.schema, parser=PARSER)
         except etree.XMLSyntaxError as xml_error:
-            logging.info(xml_error)
+            logger.info(xml_error)
         except Exception:
             self.schema = None
Index: src/sas/sascalc/pr/invertor.py
===================================================================
--- src/sas/sascalc/pr/invertor.py	(revision 2c60f30436c786afaf7a16a8d82389832d5c6637)
+++ src/sas/sascalc/pr/invertor.py	(revision c155a16ca3fb1da7057f151c62510d780700b9e8)
@@ -18,4 +18,6 @@
 from scipy import optimize
 from sas.sascalc.pr.core.pr_inversion import Cinvertor
+
+logger = logging.getLogger()
 
 def help():
@@ -495,5 +497,5 @@
             # We were not able to estimate the errors
             # Return an empty error matrix
-            logging.error(sys.exc_value)
+            logger.error(sys.exc_value)
 
         # Keep a copy of the last output
@@ -541,5 +543,5 @@
             # number of terms
             best_alpha, _, _ = self.estimate_alpha(self.nfunc)
-            logging.warning("Invertor.estimate_numterms: %s" % sys.exc_value)
+            logger.warning("Invertor.estimate_numterms: %s" % sys.exc_value)
             return self.nfunc, best_alpha, "Could not estimate number of terms"
 
Index: src/sas/sascalc/pr/num_term.py
===================================================================
--- src/sas/sascalc/pr/num_term.py	(revision b699768550de9d4b35b087234ec1d2a461922bab)
+++ src/sas/sascalc/pr/num_term.py	(revision c155a16ca3fb1da7057f151c62510d780700b9e8)
@@ -5,4 +5,6 @@
 import logging
 from sas.sascalc.pr.invertor import Invertor
+
+logger = logging.getLogger()
 
 class NTermEstimator(object):
@@ -180,5 +182,5 @@
                 data_err = numpy.append(data_err, err)
             except:
-                logging.error(sys.exc_value)
+                logger.error(sys.exc_value)
 
     return data_x, data_y, data_err
Index: src/sas/sasgui/guiframe/CategoryInstaller.py
===================================================================
--- src/sas/sasgui/guiframe/CategoryInstaller.py	(revision ddbac6633a1e7ec42b99bb39f46b9889ccf26084)
+++ src/sas/sasgui/guiframe/CategoryInstaller.py	(revision c155a16ca3fb1da7057f151c62510d780700b9e8)
@@ -16,4 +16,6 @@
 
 USER_FILE = 'categories.json'
+
+logger = logging.getLogger()
 
 class CategoryInstaller:
@@ -114,5 +116,5 @@
     @staticmethod
     def get_default_file():
-        logging.warning("CategoryInstaller.get_default_file is deprecated.")
+        logger.warning("CategoryInstaller.get_default_file is deprecated.")
 
     @staticmethod
@@ -153,5 +155,5 @@
                         model_enabled_dict.pop(model_name)
                     except:
-                        logging.error("CategoryInstaller: %s", sys.exc_value)
+                        logger.error("CategoryInstaller: %s", sys.exc_value)
                 else:
                     add_list.remove(model_name)
Index: src/sas/sasgui/guiframe/CategoryManager.py
===================================================================
--- src/sas/sasgui/guiframe/CategoryManager.py	(revision 212bfc297ca102b648c949f030d3d06a4c569fa3)
+++ src/sas/sasgui/guiframe/CategoryManager.py	(revision c155a16ca3fb1da7057f151c62510d780700b9e8)
@@ -20,4 +20,6 @@
 from sas.sasgui.guiframe.CategoryInstaller import CategoryInstaller
 IS_MAC = (sys.platform == 'darwin')
+
+logger = logging.getLogger()
 
 """ Notes
@@ -373,5 +375,5 @@
                     self.master_category_dict = json.load(f)
         except IOError:
-            logging.error('Problem reading in category file.')
+            logger.error('Problem reading in category file.')
 
         self._regenerate_model_dict()
Index: src/sas/sasgui/guiframe/config.py
===================================================================
--- src/sas/sasgui/guiframe/config.py	(revision f9d1f609ce36aae44396ad86ba1db9146a4234b3)
+++ src/sas/sasgui/guiframe/config.py	(revision c155a16ca3fb1da7057f151c62510d780700b9e8)
@@ -7,4 +7,8 @@
 import sas.sasview
 import logging
+
+
+logger = logging.getLogger()
+
 
 # Version of the application
@@ -57,5 +61,5 @@
 
 icon_path = os.path.abspath(os.path.join(os.path.dirname(__file__), "images"))
-logging.info("icon path: %s" % icon_path)
+logger.info("icon path: %s" % icon_path)
 media_path = os.path.abspath(os.path.join(os.path.dirname(__file__), "media"))
 test_path = os.path.abspath(os.path.join(os.path.dirname(__file__), "test"))
Index: src/sas/sasgui/guiframe/data_manager.py
===================================================================
--- src/sas/sasgui/guiframe/data_manager.py	(revision 2ffe241a82548f1c3017267ebe33cb91ce512e31)
+++ src/sas/sasgui/guiframe/data_manager.py	(revision c155a16ca3fb1da7057f151c62510d780700b9e8)
@@ -25,4 +25,6 @@
 from sas.sasgui.guiframe.dataFitting import Data2D
 import time
+
+logger = logging.getLogger()
 
 class DataManager(object):
@@ -136,5 +138,5 @@
                 msg = "Data manager already stores %s" % str(data.name)
                 msg += ""
-                logging.info(msg)
+                logger.info(msg)
                 data_state = self.stored_data[id]
                 data_state.data = data
Index: src/sas/sasgui/guiframe/documentation_window.py
===================================================================
--- src/sas/sasgui/guiframe/documentation_window.py	(revision d85c194ea2f78cb2b9b3de9c969e1b8ebea6b6d2)
+++ src/sas/sasgui/guiframe/documentation_window.py	(revision c155a16ca3fb1da7057f151c62510d780700b9e8)
@@ -20,4 +20,6 @@
 import urllib
 import sys
+
+logger = logging.getLogger()
 
 SPHINX_DOC_ENV = "SASVIEW_DOC_PATH"
@@ -71,5 +73,5 @@
 
         if not os.path.exists(file_path):
-            logging.error("Could not find Sphinx documentation at %s \
+            logger.error("Could not find Sphinx documentation at %s \
             -- has it been built?", file_path)
         elif WX_SUPPORTS_HTML2:
@@ -79,5 +81,5 @@
             self.Show()
         else:
-            logging.error("No html2 support, popping up a web browser")
+            logger.error("No html2 support, popping up a web browser")
             #For cases that do not build against current version dependency
             # Wx 3.0 we provide a webbrowser call - this is particularly for
Index: src/sas/sasgui/guiframe/gui_manager.py
===================================================================
--- src/sas/sasgui/guiframe/gui_manager.py	(revision 73cbeec4f3f2dfd3c530e5782984529dc2c133b2)
+++ src/sas/sasgui/guiframe/gui_manager.py	(revision c155a16ca3fb1da7057f151c62510d780700b9e8)
@@ -48,4 +48,6 @@
 from matplotlib import _pylab_helpers
 
+logger = logging.getLogger()
+
 warnings.simplefilter("ignore")
 
@@ -64,10 +66,10 @@
     if os.path.isfile(os.path.join(app_path, "custom_config.py")):
         app_path = os.path.abspath(app_path)
-        logging.info("Using application path: %s", app_path)
+        logger.info("Using application path: %s", app_path)
         return app_path
 
     # Next, try the current working directory
     if os.path.isfile(os.path.join(os.getcwd(), "custom_config.py")):
-        logging.info("Using application path: %s", os.getcwd())
+        logger.info("Using application path: %s", os.getcwd())
         return os.path.abspath(os.getcwd())
 
@@ -76,9 +78,9 @@
     # clean all these module variables and put them into a config class
     # that can be passed by sasview.py.
-    logging.info(sys.executable)
-    logging.info(str(sys.argv))
+    logger.info(sys.executable)
+    logger.info(str(sys.argv))
     from sas import sasview as sasview
     app_path = os.path.dirname(sasview.__file__)
-    logging.info("Using application path: %s", app_path)
+    logger.info("Using application path: %s", app_path)
     return app_path
 
@@ -104,9 +106,9 @@
         config_module = imp.load_module(file, fObj, path_config, descr)
     except:
-        logging.error("Error loading %s/%s: %s" % (path, file, sys.exc_value))
+        logger.error("Error loading %s/%s: %s" % (path, file, sys.exc_value))
     finally:
         if fObj is not None:
             fObj.close()
-    logging.info("GuiManager loaded %s/%s" % (path, file))
+    logger.info("GuiManager loaded %s/%s" % (path, file))
     return config_module
 
@@ -125,9 +127,9 @@
         # Didn't find local config, load the default
         import sas.sasgui.guiframe.config as config
-        logging.info("using default local_config")
+        logger.info("using default local_config")
     else:
-        logging.info("found local_config in %s" % os.getcwd())
+        logger.info("found local_config in %s" % os.getcwd())
 else:
-    logging.info("found local_config in %s" % PATH_APP)
+    logger.info("found local_config in %s" % PATH_APP)
 
 from sas.sasgui.guiframe.customdir import SetupCustom
@@ -138,9 +140,9 @@
     if custom_config is None:
         msgConfig = "Custom_config file was not imported"
-        logging.info(msgConfig)
+        logger.info(msgConfig)
     else:
-        logging.info("using custom_config in %s" % os.getcwd())
+        logger.info("using custom_config in %s" % os.getcwd())
 else:
-    logging.info("using custom_config from %s" % c_conf_dir)
+    logger.info("using custom_config from %s" % c_conf_dir)
 
 # read some constants from config
@@ -374,5 +376,5 @@
                     frame.SetIcon(icon)
                 except:
-                    logging.error("ViewerFrame.put_icon: could not set icon")
+                    logger.error("ViewerFrame.put_icon: could not set icon")
 
     def get_client_size(self):
@@ -803,5 +805,5 @@
                                                 str(self._input_file))
             msg += str(sys.exc_value) + '\n'
-            logging.error(msg)
+            logger.error(msg)
         if self._data_panel is not None and len(self.plugins) > 0:
             self._data_panel.fill_cbox_analysis(self.plugins)
@@ -869,10 +871,10 @@
             if plugin.__class__ == item.__class__:
                 msg = "Plugin %s already loaded" % plugin.sub_menu
-                logging.info(msg)
+                logger.info(msg)
                 is_loaded = True
         if not is_loaded:
             self.plugins.append(plugin)
             msg = "Plugin %s appended" % plugin.sub_menu
-            logging.info(msg)
+            logger.info(msg)
 
     def _get_local_plugins(self):
@@ -894,5 +896,5 @@
                 msg = "ViewerFrame._get_local_plugins:"
                 msg += "cannot import dataloader plugin.\n %s" % sys.exc_value
-                logging.error(msg)
+                logger.error(msg)
         if style2 == GUIFRAME.PLOTTING_ON:
             try:
@@ -904,5 +906,5 @@
                 msg = "ViewerFrame._get_local_plugins:"
                 msg += "cannot import plotting plugin.\n %s" % sys.exc_value
-                logging.error(msg)
+                logger.error(msg)
 
         return plugins
@@ -949,5 +951,5 @@
                                 plugins.append(module.Plugin())
                                 msg = "Found plug-in: %s" % module.PLUGIN_ID
-                                logging.info(msg)
+                                logger.info(msg)
                             except:
                                 msg = "Error accessing PluginPanel"
@@ -956,5 +958,5 @@
                     except:
                         msg = "ViewerFrame._find_plugins: %s" % sys.exc_value
-                        logging.error(msg)
+                        logger.error(msg)
                     finally:
                         if file is not None:
@@ -963,5 +965,5 @@
             # Should raise and catch at a higher level and
             # display error on status bar
-            logging.error(sys.exc_value)
+            logger.error(sys.exc_value)
 
         return plugins
@@ -1385,5 +1387,5 @@
 
         if config._do_aboutbox:
-            logging.info("Doing help menu")
+            logger.info("Doing help menu")
             wx_id = wx.NewId()
             self._help_menu.Append(wx_id, '&About', 'Software information')
@@ -1746,5 +1748,5 @@
                 del self.panels[ID]
         else:
-            logging.error("delete_panel: No such plot id as %s" % ID)
+            logger.error("delete_panel: No such plot id as %s" % ID)
 
     def create_gui_data(self, data, path=None):
@@ -1763,5 +1765,5 @@
             log_msg += "load: %s\n" % str(basename)
             log_msg += "Try Data opening...."
-            logging.error(log_msg)
+            logger.error(log_msg)
             return
 
@@ -1843,5 +1845,5 @@
             log_msg += "load: %s\n" % str(path)
             log_msg += "Try File opening ...."
-            logging.error(log_msg)
+            logger.error(log_msg)
             return
         log_msg = ''
@@ -1849,5 +1851,5 @@
         error_message = ""
         try:
-            logging.info("Loading Data...:\n" + str(path) + "\n")
+            logger.info("Loading Data...:\n" + str(path) + "\n")
             temp = self.loader.load(path)
             if temp.__class__.__name__ == "list":
@@ -1864,5 +1866,5 @@
             error_message += " Data from cmd:\n %s\n" % str(path)
             error_message += str(sys.exc_value) + "\n"
-            logging.error(error_message)
+            logger.error(error_message)
 
     def load_folder(self, path):
@@ -1885,5 +1887,5 @@
             error_message += " Data folder from cmd:\n %s\n" % str(path)
             error_message += str(sys.exc_value) + "\n"
-            logging.error(error_message)
+            logger.error(error_message)
 
     def _on_open_state_application(self, event):
@@ -2044,5 +2046,5 @@
                 msg += "and model selected. "
                 msg += "No project was saved to %s" % (str(path))
-                logging.warning(msg)
+                logger.warning(msg)
                 wx.PostEvent(self, StatusEvent(status=msg, info="error"))
         except Exception:
@@ -2111,5 +2113,5 @@
         #IF SAS_OPENCL is set, settings are stored in the custom config file
         self._write_opencl_config_file()
-        logging.info(" --- SasView session was closed --- \n")
+        logger.info(" --- SasView session was closed --- \n")
         wx.Exit()
         sys.exit()
@@ -2140,5 +2142,5 @@
             new_config_file.close()
         else:
-            logging.info("Failed to save OPENCL settings in custom config file")
+            logger.info("Failed to save OPENCL settings in custom config file")
 
 
@@ -2157,9 +2159,9 @@
                 # 
                 content = response.read().strip()
-                logging.info("Connected to www.sasview.org. Latest version: %s"
+                logger.info("Connected to www.sasview.org. Latest version: %s"
                              % (content))
                 version_info = json.loads(content)
             except:
-                logging.info("Failed to connect to www.sasview.org")
+                logger.info("Failed to connect to www.sasview.org")
         self._process_version(version_info, standalone=event is None)
 
@@ -2201,5 +2203,5 @@
             msg = "guiframe: could not get latest application"
             msg += " version number\n  %s" % sys.exc_value
-            logging.error(msg)
+            logger.error(msg)
             if not standalone:
                 msg = "Could not connect to the application server."
@@ -2248,13 +2250,13 @@
                     dialog.Show(True)
                 except:
-                    logging.error("Error in _onTutorial: %s" % sys.exc_value)
+                    logger.error("Error in _onTutorial: %s" % sys.exc_value)
                     try:
                         # Try an alternate method
-                        logging.error(
+                        logger.error(
                             "Could not open the tutorial pdf, trying xhtml2pdf")
                         from xhtml2pdf import pisa
                         pisa.startViewer(path)
                     except:
-                        logging.error(
+                        logger.error(
                             "Could not open the tutorial pdf with xhtml2pdf")
                         msg = "This feature requires 'PDF Viewer'\n"
@@ -2267,10 +2269,10 @@
                     try:
                         # Try an alternate method
-                        logging.error(
+                        logger.error(
                             "Could not open the tutorial pdf, trying xhtml2pdf")
                         from xhtml2pdf import pisa
                         pisa.startViewer(path)
                     except:
-                        logging.error(
+                        logger.error(
                             "Could not open the tutorial pdf with xhtml2pdf")
                         msg = "This feature requires the Preview application\n"
@@ -2411,5 +2413,5 @@
         else:
             msg = "Guiframe does not have a current perspective"
-            logging.info(msg)
+            logger.info(msg)
 
     def set_theory(self, state_id, theory_id=None):
@@ -2422,9 +2424,9 @@
             except:
                 msg = "Guiframe set_theory: \n" + str(sys.exc_value)
-                logging.info(msg)
+                logger.info(msg)
                 wx.PostEvent(self, StatusEvent(status=msg, info="error"))
         else:
             msg = "Guiframe does not have a current perspective"
-            logging.info(msg)
+            logger.info(msg)
 
     def plot_data(self, state_id, data_id=None,
@@ -2508,5 +2510,5 @@
                                             action='remove'))
         except:
-            logging.error(sys.exc_value)
+            logger.error(sys.exc_value)
 
     def save_data1d(self, data, fname):
@@ -3306,5 +3308,5 @@
             msg = "%s Could not load " % str(APPLICATION_NAME)
             msg += "input file from command line.\n"
-            logging.error(msg)
+            logger.error(msg)
         # Display a splash screen on top of the frame.
         try:
@@ -3320,5 +3322,5 @@
             msg = "Cannot display splash screen\n"
             msg += str(sys.exc_value)
-            logging.error(msg)
+            logger.error(msg)
             self.frame.Show()
 
@@ -3375,5 +3377,5 @@
                             os.remove(file_path)
                 except:
-                    logging.error("gui_manager.clean_plugin_models:\n  %s"
+                    logger.error("gui_manager.clean_plugin_models:\n  %s"
                                   % sys.exc_value)
 
Index: src/sas/sasgui/guiframe/gui_statusbar.py
===================================================================
--- src/sas/sasgui/guiframe/gui_statusbar.py	(revision 3a22ce7eba1200abb7dc9bd39b61eba90f2cce03)
+++ src/sas/sasgui/guiframe/gui_statusbar.py	(revision c155a16ca3fb1da7057f151c62510d780700b9e8)
@@ -12,4 +12,6 @@
 from sas.sasgui.guiframe.gui_style import GUIFRAME_ICON
 
+logger = logging.getLogger()
+
 # Number of fields on the status bar
 NB_FIELDS = 4
@@ -71,10 +73,10 @@
             icon_type = event.info.lower()
             if icon_type == "warning":
-                logging.warning(status)
+                logger.warning(status)
                 color = (0, 0, 255) # blue
                 icon_bmp = wx.ArtProvider.GetBitmap(wx.ART_WARNING,
                                                     wx.ART_TOOLBAR)
             if icon_type == "error":
-                logging.error(status)
+                logger.error(status)
                 color = (255, 0, 0) # red
                 icon_bmp = wx.ArtProvider.GetBitmap(wx.ART_ERROR,
Index: src/sas/sasgui/guiframe/local_perspectives/data_loader/data_loader.py
===================================================================
--- src/sas/sasgui/guiframe/local_perspectives/data_loader/data_loader.py	(revision a674d0b7da37ed36693004d2d51e0941ed38842f)
+++ src/sas/sasgui/guiframe/local_perspectives/data_loader/data_loader.py	(revision c155a16ca3fb1da7057f151c62510d780700b9e8)
@@ -7,4 +7,6 @@
 import wx
 import logging
+
+logger = logging.getLogger()
 
 from sas.sascalc.dataloader.loader import Loader
@@ -160,5 +162,5 @@
                 message += "\tError: {0}\n".format(error_data)
         else:
-            logging.error("Loader returned an invalid object:\n %s" % str(item))
+            logger.error("Loader returned an invalid object:\n %s" % str(item))
             data_error = True
 
@@ -182,5 +184,5 @@
                 log_msg += "Please try to open that file from \"open project\""
                 log_msg += "or \"open analysis\" menu."
-                logging.info(log_msg)
+                logger.info(log_msg)
                 file_errors[basename] = [log_msg]
                 continue
@@ -212,5 +214,5 @@
 
             except:
-                logging.error(sys.exc_value)
+                logger.error(sys.exc_value)
 
                 error_message = "The Data file you selected could not be loaded.\n"
Index: src/sas/sasgui/guiframe/local_perspectives/plotting/Plotter1D.py
===================================================================
--- src/sas/sasgui/guiframe/local_perspectives/plotting/Plotter1D.py	(revision 29e872e4d97689a48f665443a8b1fbfae9813a54)
+++ src/sas/sasgui/guiframe/local_perspectives/plotting/Plotter1D.py	(revision c155a16ca3fb1da7057f151c62510d780700b9e8)
@@ -24,4 +24,6 @@
 from appearanceDialog import appearanceDialog
 from graphAppearance import graphAppearance
+
+logger = logging.getLogger()
 
 DEFAULT_QMAX = 0.05
@@ -242,5 +244,5 @@
                     wx.PostEvent(self.parent, StatusEvent(status=position))
             except:
-                logging.error(sys.exc_value)
+                logger.error(sys.exc_value)
             if not event.leftdown:
                 # text event
@@ -255,5 +257,5 @@
                         self.canvas.draw()
                 except:
-                    logging.error(sys.exc_value)
+                    logger.error(sys.exc_value)
                 event.Skip()
                 return
@@ -409,5 +411,5 @@
             self.q_ctrl[vl_ind].SetValue(str(pos_x))
         except:
-            logging.error(sys.exc_value)
+            logger.error(sys.exc_value)
 
     def set_resizing(self, resizing=False):
Index: src/sas/sasgui/guiframe/local_perspectives/plotting/Plotter2D.py
===================================================================
--- src/sas/sasgui/guiframe/local_perspectives/plotting/Plotter2D.py	(revision b2b3693291d8e49fd33718753161206c1964548c)
+++ src/sas/sasgui/guiframe/local_perspectives/plotting/Plotter2D.py	(revision c155a16ca3fb1da7057f151c62510d780700b9e8)
@@ -30,4 +30,6 @@
 from graphAppearance import graphAppearance
 (InternalEvent, EVT_INTERNAL) = wx.lib.newevent.NewEvent()
+
+logger = logging.getLogger()
 
 DEFAULT_QMAX = 0.05
@@ -432,5 +434,5 @@
             except:
                 msg = "Add Text: Error. Check your property values..."
-                logging.error(msg)
+                logger.error(msg)
                 if self.parent != None:
                     wx.PostEvent(self.parent, StatusEvent(status=msg))
Index: src/sas/sasgui/guiframe/local_perspectives/plotting/binder.py
===================================================================
--- src/sas/sasgui/guiframe/local_perspectives/plotting/binder.py	(revision d85c194ea2f78cb2b9b3de9c969e1b8ebea6b6d2)
+++ src/sas/sasgui/guiframe/local_perspectives/plotting/binder.py	(revision c155a16ca3fb1da7057f151c62510d780700b9e8)
@@ -4,4 +4,6 @@
 import logging
 import sys
+
+logger = logging.getLogger()
 
 class Selection(object):
@@ -70,5 +72,5 @@
             canvas.mpl_disconnect(canvas.scroll_pick_id)
         except:
-            logging.error(sys.exc_value)
+            logger.error(sys.exc_value)
         self.canvas = canvas
         self.figure = figure
Index: src/sas/sasgui/guiframe/proxy.py
===================================================================
--- src/sas/sasgui/guiframe/proxy.py	(revision d85c194ea2f78cb2b9b3de9c969e1b8ebea6b6d2)
+++ src/sas/sasgui/guiframe/proxy.py	(revision c155a16ca3fb1da7057f151c62510d780700b9e8)
@@ -6,4 +6,7 @@
 import logging
 import re
+
+
+logger = logging.getLogger()
 
 '''
@@ -71,11 +74,11 @@
         proxy_url_list = []
         for this_pac_url in pac_urls_list:
-            logging.debug('Trying pac file (%s)...' % this_pac_url)
+            logger.debug('Trying pac file (%s)...' % this_pac_url)
             try:
                 response = urllib2.urlopen(
                     this_pac_url, timeout=self.timeout)
-                logging.debug('Succeeded (%s)...' % this_pac_url)
+                logger.debug('Succeeded (%s)...' % this_pac_url)
             except Exception:
-                logging.debug('Failled (%s)...' % this_pac_url)
+                logger.debug('Failled (%s)...' % this_pac_url)
                 continue
             pacStr = response.read()
@@ -120,30 +123,30 @@
         response = None
         try:
-            logging.debug("Trying Direct connection to %s..."%self.url)
+            logger.debug("Trying Direct connection to %s..."%self.url)
             response = urllib2.urlopen(req, timeout=self.timeout)
         except Exception, e:
-            logging.debug("Failed!")
-            logging.debug(e)
+            logger.debug("Failed!")
+            logger.debug(e)
             try:
-                logging.debug("Trying to use system proxy if it exists...")
+                logger.debug("Trying to use system proxy if it exists...")
                 self._set_proxy()
                 response = urllib2.urlopen(req, timeout=self.timeout)
             except Exception, e:
-                logging.debug("Failed!")
-                logging.debug(e)
+                logger.debug("Failed!")
+                logger.debug(e)
                 pac_urls = self._get_addresses_of_proxy_pac()
                 proxy_urls = self._parse_proxy_pac(pac_urls)
                 for proxy in proxy_urls:
                     try:
-                        logging.debug("Trying to use the proxy %s found in proxy.pac configuration"%proxy)
+                        logger.debug("Trying to use the proxy %s found in proxy.pac configuration"%proxy)
                         self._set_proxy(proxy)
                         response = urllib2.urlopen(req, timeout=self.timeout)
                     except Exception, e:
-                        logging.debug("Failed!")
-                        logging.debug(e)
+                        logger.debug("Failed!")
+                        logger.debug(e)
         if response is not None:
-            logging.debug("The connection to %s was successful."%self.url)
+            logger.debug("The connection to %s was successful."%self.url)
         else:
-            logging.warning("Connection to %s failed..."%self.url)
+            logger.warning("Connection to %s failed..."%self.url)
         return response
 
Index: src/sas/sasgui/guiframe/report_dialog.py
===================================================================
--- src/sas/sasgui/guiframe/report_dialog.py	(revision 6dd6e32012f292ecf1f21bdca4ad872eb94b706c)
+++ src/sas/sasgui/guiframe/report_dialog.py	(revision c155a16ca3fb1da7057f151c62510d780700b9e8)
@@ -7,4 +7,6 @@
 import sys
 import wx.html as html
+
+logger = logging.getLogger()
 
 ISPDF = False
@@ -135,5 +137,5 @@
             return pisaStatus.err
         except:
-            logging.error("Error creating pdf: %s" % sys.exc_value)
+            logger.error("Error creating pdf: %s" % sys.exc_value)
         return False
 
Index: src/sas/sasgui/perspectives/calculator/calculator.py
===================================================================
--- src/sas/sasgui/perspectives/calculator/calculator.py	(revision a0c1e1de9eb99665b31c85c4fddcfca740db719c)
+++ src/sas/sasgui/perspectives/calculator/calculator.py	(revision c155a16ca3fb1da7057f151c62510d780700b9e8)
@@ -28,4 +28,6 @@
 import logging
 
+logger = logging.getLogger()
+
 class Plugin(PluginBase):
     """
@@ -36,5 +38,5 @@
         PluginBase.__init__(self, name="Calculator")
         # Log startup
-        logging.info("Calculator plug-in started")
+        logger.info("Calculator plug-in started")
         self.sub_menu = "Tool"
         self.data_edit_frame = None
Index: src/sas/sasgui/perspectives/calculator/gen_scatter_panel.py
===================================================================
--- src/sas/sasgui/perspectives/calculator/gen_scatter_panel.py	(revision 0f7c930fc2c325971c76a60d39f2e3719b8143a3)
+++ src/sas/sasgui/perspectives/calculator/gen_scatter_panel.py	(revision c155a16ca3fb1da7057f151c62510d780700b9e8)
@@ -38,4 +38,6 @@
 from sas.sasgui.guiframe.events import NewPlotEvent
 from sas.sasgui.guiframe.documentation_window import DocumentationWindow
+
+logger = logging.getLogger()
 
 _BOX_WIDTH = 76
@@ -699,5 +701,5 @@
                 ax = Axes3D(panel.figure)
             except:
-                logging.error("PlotPanel could not import Axes3D")
+                logger.error("PlotPanel could not import Axes3D")
                 raise
         panel.dimension = 3
@@ -1344,5 +1346,5 @@
             msg = "OMF Panel: %s" % sys.exc_value
             infor = 'Error'
-            #logging.error(msg)
+            #logger.error(msg)
             if self.parent.parent != None:
                 # inform msg to wx
@@ -1696,5 +1698,5 @@
                 msg = "%s cannot write %s\n" % ('Generic Scattering', str(path))
                 infor = 'Error'
-                #logging.error(msg)
+                #logger.error(msg)
                 if self.parent.parent != None:
                     # inform msg to wx
Index: src/sas/sasgui/perspectives/calculator/model_editor.py
===================================================================
--- src/sas/sasgui/perspectives/calculator/model_editor.py	(revision ddbac6633a1e7ec42b99bb39f46b9889ccf26084)
+++ src/sas/sasgui/perspectives/calculator/model_editor.py	(revision c155a16ca3fb1da7057f151c62510d780700b9e8)
@@ -32,4 +32,6 @@
 from sas.sasgui.guiframe.documentation_window import DocumentationWindow
 from .pyconsole import show_model_output, check_model
+
+logger = logging.getLogger()
 
 
@@ -985,5 +987,5 @@
                 exec "from %s import Model" % name
             except:
-                logging.error(sys.exc_value)
+                logger.error(sys.exc_value)
 
         # Prepare the messagebox
Index: src/sas/sasgui/perspectives/calculator/resolution_calculator_panel.py
===================================================================
--- src/sas/sasgui/perspectives/calculator/resolution_calculator_panel.py	(revision a0c1e1de9eb99665b31c85c4fddcfca740db719c)
+++ src/sas/sasgui/perspectives/calculator/resolution_calculator_panel.py	(revision c155a16ca3fb1da7057f151c62510d780700b9e8)
@@ -34,4 +34,6 @@
 from sas.sasgui.perspectives.calculator import calculator_widgets as widget
 from sas.sasgui.guiframe.documentation_window import DocumentationWindow
+
+logger = logging.getLogger()
 
 _BOX_WIDTH = 100
@@ -1098,5 +1100,5 @@
                 new_string.append(value)
             except:
-                logging.error(sys.exc_value)
+                logger.error(sys.exc_value)
 
         return new_string
@@ -1140,5 +1142,5 @@
                         return out
                 except:
-                    logging.error(sys.exc_value)
+                    logger.error(sys.exc_value)
 
     def _on_xy_coordinate(self, event=None):
@@ -1318,5 +1320,5 @@
                 except:
                     # Skip non-data lines
-                    logging.error(sys.exc_value)
+                    logger.error(sys.exc_value)
 
             return [wavelength, intensity]
Index: src/sas/sasgui/perspectives/corfunc/corfunc.py
===================================================================
--- src/sas/sasgui/perspectives/corfunc/corfunc.py	(revision 1dc8ec9bbfd72210acd49400626adfb8eb6c3c87)
+++ src/sas/sasgui/perspectives/corfunc/corfunc.py	(revision c155a16ca3fb1da7057f151c62510d780700b9e8)
@@ -20,4 +20,5 @@
 from plot_labels import *
 
+logger = logging.getLogger()
 
 class Plugin(PluginBase):
@@ -29,5 +30,5 @@
     def __init__(self):
         PluginBase.__init__(self, name="Correlation Function")
-        logging.info("Correlation function plug-in started")
+        logger.info("Correlation function plug-in started")
         self._always_active = True
         self.state_reader = Reader(self.set_state)
Index: src/sas/sasgui/perspectives/corfunc/corfunc_state.py
===================================================================
--- src/sas/sasgui/perspectives/corfunc/corfunc_state.py	(revision ae9b8bf0596d163a9011e6b945a6fb09f4b36456)
+++ src/sas/sasgui/perspectives/corfunc/corfunc_state.py	(revision c155a16ca3fb1da7057f151c62510d780700b9e8)
@@ -13,4 +13,6 @@
 from sas.sascalc.dataloader.loader import Loader
 
+logger = logging.getLogger()
+
 CORNODE_NAME = 'corfunc'
 CANSAS_NS = 'cansas1d/1.0'
@@ -216,5 +218,5 @@
                     msg = ("CorfuncState.fromXML: Could not read timestamp",
                         "\n{}").format(sys.exc_value)
-                    logging.error(msg)
+                    logger.error(msg)
 
             # Parse current state
@@ -360,4 +362,4 @@
             msg = "XML document does not contain CorfuncState information\n{}"
             msg.format(sys.exc_value)
-            logging.info(msg)
+            logger.info(msg)
         return state
Index: src/sas/sasgui/perspectives/file_converter/file_converter.py
===================================================================
--- src/sas/sasgui/perspectives/file_converter/file_converter.py	(revision ba65aff97e4c9511e2e199a78137312a6adc403d)
+++ src/sas/sasgui/perspectives/file_converter/file_converter.py	(revision c155a16ca3fb1da7057f151c62510d780700b9e8)
@@ -6,4 +6,6 @@
 from sas.sasgui.guiframe.plugin_base import PluginBase
 from sas.sasgui.perspectives.file_converter.converter_panel import ConverterWindow
+
+logger = logging.getLogger()
 
 class Plugin(PluginBase):
@@ -15,5 +17,5 @@
     def __init__(self):
         PluginBase.__init__(self, name="File Converter")
-        logging.info("File Converter plug-in started")
+        logger.info("File Converter plug-in started")
         self._sub_menu = "Tool"
         self.converter_frame = None
Index: src/sas/sasgui/perspectives/fitting/basepage.py
===================================================================
--- src/sas/sasgui/perspectives/fitting/basepage.py	(revision b301db9771a6b47f4e6cab8b5e980f14f16dc65a)
+++ src/sas/sasgui/perspectives/fitting/basepage.py	(revision c155a16ca3fb1da7057f151c62510d780700b9e8)
@@ -34,4 +34,5 @@
 from sas.sasgui.guiframe.documentation_window import DocumentationWindow
 
+logger = logging.getLogger()
 
 (PageInfoEvent, EVT_PAGE_INFO) = wx.lib.newevent.NewEvent()
@@ -782,5 +783,5 @@
                 except Exception:
                     # Skip non-data lines
-                    logging.error(traceback.format_exc())
+                    logger.error(traceback.format_exc())
             return numpy.array(angles), numpy.array(weights)
         except:
@@ -1304,5 +1305,5 @@
                     [state.values, state.weights]
             except Exception:
-                logging.error(traceback.format_exc())
+                logger.error(traceback.format_exc())
             selection = self._find_polyfunc_selection(disp_model)
             for list in self.fittable_param:
@@ -1321,5 +1322,5 @@
                             list[6].Disable()
                         except Exception:
-                            logging.error(traceback.format_exc())
+                            logger.error(traceback.format_exc())
             # For array, disable all fixed params
             if selection == 1:
@@ -1330,5 +1331,5 @@
                             item[2].Disable()
                         except Exception:
-                            logging.error(traceback.format_exc())
+                            logger.error(traceback.format_exc())
 
     def _selectDlg(self):
@@ -1464,5 +1465,5 @@
                 self.Refresh()
 
-        # logging.info("is_modified flag set to %g",is_modified)
+        # logger.info("is_modified flag set to %g",is_modified)
         return is_modified
 
@@ -1569,5 +1570,5 @@
             self.save_current_state()
         except Exception:
-            logging.error(traceback.format_exc())
+            logger.error(traceback.format_exc())
 
         return flag, is_modified
@@ -2384,5 +2385,5 @@
                     self.model.set_dispersion(p, disp_model)
                 except Exception:
-                    logging.error(traceback.format_exc())
+                    logger.error(traceback.format_exc())
 
         # save state into
@@ -2499,5 +2500,5 @@
             self.Refresh()
         except Exception:
-            logging.error(traceback.format_exc())
+            logger.error(traceback.format_exc())
             # Error msg
             msg = "Error occurred:"
@@ -2600,5 +2601,5 @@
                 del self.state.model._persistency_dict[name.split('.')[0]]
         except Exception:
-            logging.error(traceback.format_exc())
+            logger.error(traceback.format_exc())
 
     def _lay_out(self):
@@ -2742,5 +2743,5 @@
             except Exception:
                 # Not for control panels
-                logging.error(traceback.format_exc())
+                logger.error(traceback.format_exc())
         # Make sure the resduals plot goes to the last
         if res_item is not None:
@@ -3075,5 +3076,5 @@
                     disfunc = str(item[7].GetValue())
             except Exception:
-                logging.error(traceback.format_exc())
+                logger.error(traceback.format_exc())
 
             # 2D
@@ -3118,5 +3119,5 @@
                         disfunc += ' ' + str(weight)
             except Exception:
-                logging.error(traceback.format_exc())
+                logger.error(traceback.format_exc())
             content += name + ',' + str(check) + ',' + value + disfunc + ',' + \
                        bound_lo + ',' + bound_hi + ':'
@@ -3389,5 +3390,5 @@
 
         except Exception:
-            logging.error(traceback.format_exc())
+            logger.error(traceback.format_exc())
             print "Error in BasePage._paste_poly_help: %s" % \
                   sys.exc_info()[1]
Index: src/sas/sasgui/perspectives/fitting/fitting.py
===================================================================
--- src/sas/sasgui/perspectives/fitting/fitting.py	(revision 4c5098cac470ea0a367a8f92be0ed0ac428bcc12)
+++ src/sas/sasgui/perspectives/fitting/fitting.py	(revision c155a16ca3fb1da7057f151c62510d780700b9e8)
@@ -48,4 +48,6 @@
 
 from . import models
+
+logger = logging.getLogger()
 
 MAX_NBR_DATA = 4
@@ -119,5 +121,5 @@
         self.page_finder = {}
         # Log startup
-        logging.info("Fitting plug-in started")
+        logger.info("Fitting plug-in started")
         self.batch_capable = self.get_batch_capable()
 
@@ -346,5 +348,5 @@
                                 page.formfactorbox.SetLabel(current_val)
         except:
-            logging.error("update_custom_combo: %s", sys.exc_value)
+            logger.error("update_custom_combo: %s", sys.exc_value)
 
     def set_edit_menu(self, owner):
@@ -586,5 +588,5 @@
                 msg = "Fitting: cannot deal with the theory received"
                 evt = StatusEvent(status=msg, info="error")
-                logging.error("set_theory " + msg + "\n" + str(sys.exc_value))
+                logger.error("set_theory " + msg + "\n" + str(sys.exc_value))
                 wx.PostEvent(self.parent, evt)
 
@@ -1806,5 +1808,5 @@
         Handle exception from calculator by posting it as an error.
         """
-        logging.error("".join(traceback.format_exception(etype, value, tb)))
+        logger.error("".join(traceback.format_exception(etype, value, tb)))
         msg = traceback.format_exception(etype, value, tb, limit=1)
         evt = StatusEvent(status="".join(msg), type="stop", info="error")
Index: src/sas/sasgui/perspectives/fitting/models.py
===================================================================
--- src/sas/sasgui/perspectives/fitting/models.py	(revision e92a35222de59b469e74be44064685ec4edc7c19)
+++ src/sas/sasgui/perspectives/fitting/models.py	(revision c155a16ca3fb1da7057f151c62510d780700b9e8)
@@ -18,4 +18,6 @@
 from sas.sasgui.guiframe.CategoryInstaller import CategoryInstaller
 from sasmodels.sasview_model import load_custom_model, load_standard_models
+
+logger = logging.getLogger()
 
 
@@ -168,10 +170,10 @@
     if not os.path.isdir(dir):
         msg = "SasView couldn't locate Model plugin folder %r." % dir
-        logging.warning(msg)
+        logger.warning(msg)
         return {}
 
     plugin_log("looking for models in: %s" % str(dir))
     #compile_file(dir)  #always recompile the folder plugin
-    logging.info("plugin model dir: %s" % str(dir))
+    logger.info("plugin model dir: %s" % str(dir))
 
     plugins = {}
@@ -188,5 +190,5 @@
                 msg += "\nwhile accessing model in %r" % path
                 plugin_log(msg)
-                logging.warning("Failed to load plugin %r. See %s for details"
+                logger.warning("Failed to load plugin %r. See %s for details"
                                 % (path, PLUGIN_LOG))
             
@@ -261,5 +263,5 @@
         if self.is_changed():
             return  _findModels(dir)
-        logging.info("plugin model : %s" % str(temp))
+        logger.info("plugin model : %s" % str(temp))
         return temp
 
Index: src/sas/sasgui/perspectives/fitting/pagestate.py
===================================================================
--- src/sas/sasgui/perspectives/fitting/pagestate.py	(revision 27109e5cd4b7a9b36dd9bb6e66db62057374322b)
+++ src/sas/sasgui/perspectives/fitting/pagestate.py	(revision c155a16ca3fb1da7057f151c62510d780700b9e8)
@@ -33,4 +33,6 @@
 from sas.sascalc.dataloader.data_info import Data2D, Collimation, Detector
 from sas.sascalc.dataloader.data_info import Process, Aperture
+
+logger = logging.getLogger()
 
 # Information to read/write state as xml
@@ -395,5 +397,5 @@
                     msg = "Save state does not have enough information to load"
                     msg += " the all of the data."
-                    logging.warning(msg=msg)
+                    logger.warning(msg=msg)
             else:
                 self.formfactorcombobox = FIRST_FORM[self.categorycombobox]
@@ -620,5 +622,5 @@
             except Exception:
                 msg = "Report string expected 'name: value' but got %r" % line
-                logging.error(msg)
+                logger.error(msg)
             if name.count("State created"):
                 repo_time = "" + value
@@ -662,5 +664,5 @@
                 except Exception:
                     msg = "While parsing 'data: ...'\n"
-                    logging.error(msg + traceback.format_exc())
+                    logger.error(msg + traceback.format_exc())
             if name == "model name ":
                 try:
@@ -678,5 +680,5 @@
                 except Exception:
                     msg = "While parsing 'Plotting Range: ...'\n"
-                    logging.error(msg + traceback.format_exc())
+                    logger.error(msg + traceback.format_exc())
         paramval = ""
         for lines in param_string.split(":"):
@@ -1037,5 +1039,5 @@
                     msg = "PageState.fromXML: Could not"
                     msg += " read timestamp\n %s" % sys.exc_value
-                    logging.error(msg)
+                    logger.error(msg)
 
             if entry is not None:
@@ -1077,5 +1079,5 @@
                             except Exception:
                                 base = "unable to load distribution %r for %s"
-                                logging.error(base % (value, parameter))
+                                logger.error(base % (value, parameter))
                                 continue
                         _disp_obj_dict = getattr(self, varname)
@@ -1099,5 +1101,5 @@
                                 msg = ("Error reading %r from %s %s\n"
                                        % (line, tagname, name))
-                                logging.error(msg + traceback.format_exc())
+                                logger.error(msg + traceback.format_exc())
                         dic[name] = numpy.array(value_list)
                     setattr(self, varname, dic)
@@ -1207,5 +1209,5 @@
 
         except:
-            logging.info("XML document does not contain fitting information.\n"
+            logger.info("XML document does not contain fitting information.\n"
                          + traceback.format_exc())
 
Index: src/sas/sasgui/perspectives/invariant/invariant.py
===================================================================
--- src/sas/sasgui/perspectives/invariant/invariant.py	(revision c10d9d6c8667422d3db329ac32d0528a6cce3fc6)
+++ src/sas/sasgui/perspectives/invariant/invariant.py	(revision c155a16ca3fb1da7057f151c62510d780700b9e8)
@@ -27,4 +27,6 @@
 from sas.sasgui.guiframe.plugin_base import PluginBase
 
+logger = logging.getLogger()
+
 class Plugin(PluginBase):
     """
@@ -46,5 +48,5 @@
 
         # Log startup
-        logging.info("Invariant plug-in started")
+        logger.info("Invariant plug-in started")
 
     def get_data(self):
@@ -280,5 +282,5 @@
 
         except:
-            logging.error("invariant.set_state: %s" % sys.exc_value)
+            logger.error("invariant.set_state: %s" % sys.exc_value)
 
     def on_set_state_helper(self, event=None):
Index: src/sas/sasgui/perspectives/invariant/invariant_panel.py
===================================================================
--- src/sas/sasgui/perspectives/invariant/invariant_panel.py	(revision 18b7ecb9592132eb5e291874eb5b6c2046d54a45)
+++ src/sas/sasgui/perspectives/invariant/invariant_panel.py	(revision c155a16ca3fb1da7057f151c62510d780700b9e8)
@@ -24,4 +24,6 @@
 from sas.sasgui.guiframe.panel_base import PanelBase
 from sas.sasgui.guiframe.documentation_window import DocumentationWindow
+
+logger = logging.getLogger()
 
 # The minimum q-value to be used when extrapolating
@@ -460,5 +462,5 @@
                 self._manager.plot_theory(name="Low-Q extrapolation")
             except:
-                logging.error(sys.exc_value)
+                logger.error(sys.exc_value)
 
     def get_high_qstar(self, inv, high_q=False):
@@ -494,5 +496,5 @@
                 self._manager.plot_theory(name="High-Q extrapolation")
             except:
-                logging.error(sys.exc_value)
+                logger.error(sys.exc_value)
 
     def get_qstar(self, inv):
@@ -845,5 +847,5 @@
             attr.SetValue(value)
         except:
-            logging.error("Invariant state: %s", sys.exc_value)
+            logger.error("Invariant state: %s", sys.exc_value)
 
     def get_bookmark_by_num(self, num=None):
@@ -862,5 +864,5 @@
             _, _, current_state, comp_state = self.state.bookmark_list[int(num)]
         except:
-            logging.error(sys.exc_value)
+            logger.error(sys.exc_value)
             raise ValueError, "No such bookmark exists"
 
@@ -957,5 +959,5 @@
                     self.state.clone_state()
         except:
-            logging.error(sys.exc_value)
+            logger.error(sys.exc_value)
 
         self._set_undo_flag(True)
@@ -1001,5 +1003,5 @@
                 del self.state.state_list[str(i)]
             except:
-                logging.error(sys.exc_value)
+                logger.error(sys.exc_value)
         # Enable the undo button if it was not
         self._set_undo_flag(True)
@@ -1066,5 +1068,5 @@
                 del self.state.state_list[str(i)]
             except:
-                logging.error(sys.exc_value)
+                logger.error(sys.exc_value)
 
         # try to add new state of the text changes in the state_list
@@ -1081,5 +1083,5 @@
             self.state.state_list[str(self.state.state_num)] = self.state.clone_state()
         except:
-            logging.error(sys.exc_value)
+            logger.error(sys.exc_value)
 
         self._set_undo_flag(True)
@@ -1103,5 +1105,5 @@
             self.state.state_list[str(self.state.state_num)] = self.state.clone_state()
         except:
-            logging.error(sys.exc_value)
+            logger.error(sys.exc_value)
 
     def _get_input_list(self):
Index: src/sas/sasgui/perspectives/invariant/invariant_state.py
===================================================================
--- src/sas/sasgui/perspectives/invariant/invariant_state.py	(revision db5294eb167ea87b105d85329af888f2b1a980fd)
+++ src/sas/sasgui/perspectives/invariant/invariant_state.py	(revision c155a16ca3fb1da7057f151c62510d780700b9e8)
@@ -16,4 +16,6 @@
 from sas.sasgui.guiframe.gui_style import GUIFRAME_ID
 from sas.sasgui.guiframe.dataFitting import Data1D
+
+logger = logging.getLogger()
 
 INVNODE_NAME = 'invariant'
@@ -381,5 +383,5 @@
                     msg = "InvariantSate.fromXML: Could not read"
                     msg += " timestamp\n %s" % sys.exc_value
-                    logging.error(msg)
+                    logger.error(msg)
 
             # Parse bookmarks
@@ -694,5 +696,5 @@
             msg = "XML document does not contain invariant"
             msg += " information.\n %s" % sys.exc_value
-            logging.info(msg)
+            logger.info(msg)
         return state
 
Index: src/sas/sasgui/perspectives/invariant/report_dialog.py
===================================================================
--- src/sas/sasgui/perspectives/invariant/report_dialog.py	(revision d85c194ea2f78cb2b9b3de9c969e1b8ebea6b6d2)
+++ src/sas/sasgui/perspectives/invariant/report_dialog.py	(revision c155a16ca3fb1da7057f151c62510d780700b9e8)
@@ -20,4 +20,6 @@
 
 from sas.sasgui.guiframe.report_dialog import BaseReportDialog
+
+logger = logging.getLogger()
 
 class ReportDialog(BaseReportDialog):
@@ -92,5 +94,5 @@
                     except:
                         # DO not open
-                        logging.error("Could not open file: %s" % sys.exc_value)
+                        logger.error("Could not open file: %s" % sys.exc_value)
             # delete image file
             os.remove(pic_fname)
Index: src/sas/sasgui/perspectives/pr/explore_dialog.py
===================================================================
--- src/sas/sasgui/perspectives/pr/explore_dialog.py	(revision d85c194ea2f78cb2b9b3de9c969e1b8ebea6b6d2)
+++ src/sas/sasgui/perspectives/pr/explore_dialog.py	(revision c155a16ca3fb1da7057f151c62510d780700b9e8)
@@ -22,4 +22,6 @@
 import logging
 import sys
+
+logger = logging.getLogger()
 
 # Avoid Matplotlib complaining about the lack of legend on the plot
@@ -284,5 +286,5 @@
             msg += "a change in the " % str(output_type)
             msg += "ExploreDialog code."
-            logging.error(msg)
+            logger.error(msg)
 
     def __do_layout(self):
@@ -418,5 +420,5 @@
                 msg = "ExploreDialog: inversion failed "
                 msg += "for D_max=%s\n%s" % (str(d), sys.exc_value)
-                logging.error(msg)
+                logger.error(msg)
 
         self.results = results
Index: src/sas/sasgui/perspectives/pr/inversion_panel.py
===================================================================
--- src/sas/sasgui/perspectives/pr/inversion_panel.py	(revision 18b7ecb9592132eb5e291874eb5b6c2046d54a45)
+++ src/sas/sasgui/perspectives/pr/inversion_panel.py	(revision c155a16ca3fb1da7057f151c62510d780700b9e8)
@@ -17,4 +17,6 @@
 from pr_widgets import OutputTextCtrl
 from sas.sasgui.guiframe.documentation_window import DocumentationWindow
+
+logger = logging.getLogger()
 
 if sys.platform.count("win32") > 0:
@@ -710,8 +712,8 @@
             self.alpha_ctl.SetValue(alpha)
         except ValueError:
-            logging.error("InversionControl._on_accept_alpha got a value that was not a number: %s" % alpha )
+            logger.error("InversionControl._on_accept_alpha got a value that was not a number: %s" % alpha )
         except:
             # No estimate or bad estimate, either do nothing
-            logging.error("InversionControl._on_accept_alpha: %s" % sys.exc_value)
+            logger.error("InversionControl._on_accept_alpha: %s" % sys.exc_value)
 
     def _on_accept_nterms(self, evt):
@@ -726,8 +728,8 @@
             self.nfunc_ctl.SetValue(nterms)
         except ValueError:
-            logging.error("InversionControl._on_accept_nterms got a value that was not a number: %s" % nterms )
+            logger.error("InversionControl._on_accept_nterms got a value that was not a number: %s" % nterms )
         except:
             # No estimate or bad estimate, either do nothing
-            logging.error("InversionControl._on_accept_nterms: %s" % sys.exc_value)
+            logger.error("InversionControl._on_accept_nterms: %s" % sys.exc_value)
 
     def clear_panel(self):
@@ -947,5 +949,5 @@
             except:
                 msg = "InversionControl._change_file: %s" % sys.exc_value
-                logging.error(msg)
+                logger.error(msg)
 
     def on_help(self, event):
Index: src/sas/sasgui/perspectives/pr/inversion_state.py
===================================================================
--- src/sas/sasgui/perspectives/pr/inversion_state.py	(revision d85c194ea2f78cb2b9b3de9c969e1b8ebea6b6d2)
+++ src/sas/sasgui/perspectives/pr/inversion_state.py	(revision c155a16ca3fb1da7057f151c62510d780700b9e8)
@@ -22,4 +22,6 @@
 from sas.sascalc.dataloader.readers.cansas_reader import get_content
 
+logger = logging.getLogger()
+
 PRNODE_NAME = 'pr_inversion'
 CANSAS_NS = "cansas1d/1.0"
@@ -250,5 +252,5 @@
                     msg = "InversionState.fromXML: Could not read "
                     msg += "timestamp\n %s" % sys.exc_value
-                    logging.error(msg)
+                    logger.error(msg)
 
             # Parse inversion inputs
@@ -306,5 +308,5 @@
                         err_msg += "%d %d" % (len(self.coefficients),
                                               self.nfunc)
-                        logging.error(err_msg)
+                        logger.error(err_msg)
                         self.coefficients = None
 
@@ -343,5 +345,5 @@
                         err_msg += " covariance matrix: "
                         err_msg += "%d %d" % (len(self.covariance), self.nfunc)
-                        logging.error(err_msg)
+                        logger.error(err_msg)
                         self.covariance = None
 
@@ -430,5 +432,5 @@
             msg = "XML document does not contain P(r) "
             msg += "information.\n %s" % sys.exc_value
-            logging.info(msg)
+            logger.info(msg)
 
         return state
Index: src/sas/sasgui/perspectives/pr/pr.py
===================================================================
--- src/sas/sasgui/perspectives/pr/pr.py	(revision a69a967b8ace2263edf57d6328d2ece6d26f1492)
+++ src/sas/sasgui/perspectives/pr/pr.py	(revision c155a16ca3fb1da7057f151c62510d780700b9e8)
@@ -34,4 +34,6 @@
 from pr_widgets import load_error
 from sas.sasgui.guiframe.plugin_base import PluginBase
+
+logger = logging.getLogger()
 
 
@@ -113,5 +115,5 @@
 
         # Log startup
-        logging.info("Pr(r) plug-in started")
+        logger.info("Pr(r) plug-in started")
 
     def delete_data(self, data_id):
@@ -181,5 +183,5 @@
             self.control_panel.set_state(state)
         except:
-            logging.error("prview.set_state: %s" % sys.exc_value)
+            logger.error("prview.set_state: %s" % sys.exc_value)
 
 
@@ -508,5 +510,5 @@
                     data_err = numpy.append(data_err, err)
                 except:
-                    logging.error(sys.exc_value)
+                    logger.error(sys.exc_value)
 
         if not scale == None:
@@ -559,5 +561,5 @@
                         data_err = numpy.append(data_err, err)
                     except:
-                        logging.error(sys.exc_value)
+                        logger.error(sys.exc_value)
                 elif line.find("The 6 columns") >= 0:
                     data_started = True
@@ -1201,5 +1203,5 @@
             dataset = panel.plots[panel.graph.selected_plottable].name
         else:
-            logging.info("Prview Error: No data is available")
+            logger.info("Prview Error: No data is available")
             return
 
@@ -1211,5 +1213,5 @@
         except:
             self.control_panel.alpha = self.alpha
-            logging.info("Prview :Alpha Not estimate yet")
+            logger.info("Prview :Alpha Not estimate yet")
         try:
             estimate = int(self.control_panel.nterms_estimate)
@@ -1217,5 +1219,5 @@
         except:
             self.control_panel.nfunc = self.nfunc
-            logging.info("Prview : ntemrs Not estimate yet")
+            logger.info("Prview : ntemrs Not estimate yet")
 
         self.current_plottable = panel.plots[panel.graph.selected_plottable]
Index: src/sas/sasgui/perspectives/simulation/simulation.py
===================================================================
--- src/sas/sasgui/perspectives/simulation/simulation.py	(revision d85c194ea2f78cb2b9b3de9c969e1b8ebea6b6d2)
+++ src/sas/sasgui/perspectives/simulation/simulation.py	(revision c155a16ca3fb1da7057f151c62510d780700b9e8)
@@ -24,4 +24,6 @@
 from sas.sascalc.data_util.calcthread import CalcThread
 from sas.guicomm.events import NewPlotEvent, StatusEvent    
+
+logger = logging.getLogger()
 
 class Calc1D(CalcThread):
@@ -93,5 +95,5 @@
         self._default_save_location = os.getcwd()
         # Log startup
-        logging.info("Simulation plug-in started")
+        logger.info("Simulation plug-in started")
         
     def get_panels(self, parent):
Index: src/sas/sasgui/plottools/PlotPanel.py
===================================================================
--- src/sas/sasgui/plottools/PlotPanel.py	(revision a5b8253583189ae64cae0529b92e16221f283019)
+++ src/sas/sasgui/plottools/PlotPanel.py	(revision c155a16ca3fb1da7057f151c62510d780700b9e8)
@@ -33,4 +33,6 @@
 from sas.sasgui.guiframe.events import StatusEvent
 from .toolbar import NavigationToolBar, PlotPrintout, bind
+
+logger = logging.getLogger()
 
 def show_tree(obj, d=0):
@@ -1506,5 +1508,5 @@
                     from mpl_toolkits.mplot3d import Axes3D
                 except:
-                    logging.error("PlotPanel could not import Axes3D")
+                    logger.error("PlotPanel could not import Axes3D")
                 self.subplot.figure.clear()
                 ax = Axes3D(self.subplot.figure)
Index: src/sas/sasgui/plottools/binder.py
===================================================================
--- src/sas/sasgui/plottools/binder.py	(revision d7bb5267934b5676c90b1655346a3793a8022965)
+++ src/sas/sasgui/plottools/binder.py	(revision c155a16ca3fb1da7057f151c62510d780700b9e8)
@@ -4,4 +4,6 @@
 import sys
 import logging
+
+logger = logging.getLogger()
 
 class Selection(object):
@@ -121,5 +123,5 @@
             for cid in self._connections: self.canvas.mpl_disconnect(cid)
         except:
-            logging.error("Error disconnection canvas: %s" % sys.exc_value)
+            logger.error("Error disconnection canvas: %s" % sys.exc_value)
         self._connections = []
 
Index: src/sas/sasgui/plottools/canvas.py
===================================================================
--- src/sas/sasgui/plottools/canvas.py	(revision d7bb5267934b5676c90b1655346a3793a8022965)
+++ src/sas/sasgui/plottools/canvas.py	(revision c155a16ca3fb1da7057f151c62510d780700b9e8)
@@ -11,4 +11,6 @@
 from matplotlib.backends.backend_wx import RendererWx
 
+logger = logging.getLogger()
+
 
 def draw_image(self, x, y, im, bbox, clippath=None, clippath_trans=None):
@@ -96,5 +98,5 @@
             dc.DrawBitmap(self.canvas.bitmap, (0, 0))
         except:
-            logging.error(sys.exc_value)
+            logger.error(sys.exc_value)
 
     # restore original figure  resolution
@@ -207,5 +209,5 @@
                 fig.draw(self)
             except ValueError:
-                logging.error(sys.exc_value)
+                logger.error(sys.exc_value)
         else:
             self._isRendered = False
Index: src/sas/sasgui/plottools/plottables.py
===================================================================
--- src/sas/sasgui/plottools/plottables.py	(revision a9f579c8400c480f42c42445e1ff4dab09a6baa4)
+++ src/sas/sasgui/plottools/plottables.py	(revision c155a16ca3fb1da7057f151c62510d780700b9e8)
@@ -46,4 +46,6 @@
 import sys
 import logging
+
+logger = logging.getLogger()
 
 if 'any' not in dir(__builtins__):
@@ -808,6 +810,6 @@
                         tempdy.append(self.dy[i])
                 except:
-                    logging.error("check_data_logX: skipping point x %g", self.x[i])
-                    logging.error(sys.exc_value)
+                    logger.error("check_data_logX: skipping point x %g", self.x[i])
+                    logger.error(sys.exc_value)
             self.x = tempx
             self.y = tempy
@@ -838,6 +840,6 @@
                         tempdy.append(self.dy[i])
                 except:
-                    logging.error("check_data_logY: skipping point %g", self.y[i])
-                    logging.error(sys.exc_value)
+                    logger.error("check_data_logY: skipping point %g", self.y[i])
+                    logger.error(sys.exc_value)
 
             self.x = tempx
Index: src/sas/sasgui/plottools/toolbar.py
===================================================================
--- src/sas/sasgui/plottools/toolbar.py	(revision d7bb5267934b5676c90b1655346a3793a8022965)
+++ src/sas/sasgui/plottools/toolbar.py	(revision c155a16ca3fb1da7057f151c62510d780700b9e8)
@@ -6,4 +6,6 @@
 from matplotlib.backends.backend_wx import _load_bitmap
 import logging
+
+logger = logging.getLogger()
 
 # Event binding code changed after version 2.5
@@ -94,5 +96,5 @@
             self._parent.onToolContextMenu(event=event)
         except:
-            logging.error("Plot toolbar could not show menu")
+            logger.error("Plot toolbar could not show menu")
 
     def context_menu(self, event):
@@ -122,5 +124,5 @@
         except:
             import traceback
-            logging.error(traceback.format_exc())
+            logger.error(traceback.format_exc())
 
     def copy_figure(self, event):
Index: test/logging.ini
===================================================================
--- test/logging.ini	(revision c155a16ca3fb1da7057f151c62510d780700b9e8)
+++ test/logging.ini	(revision c155a16ca3fb1da7057f151c62510d780700b9e8)
@@ -0,0 +1,47 @@
+
+###############################################################################
+################################### LOGGING ###################################
+###############################################################################
+
+[formatters]
+keys=simple,detailed
+
+[formatter_simple]
+format=%(name)s: %(levelname)s: %(message)s
+ 
+[formatter_detailed]
+format=%(name)s: %(levelname)s %(module)s: %(lineno)d: %(message)s
+
+###############################################################################
+# Handlers
+
+[handlers]
+keys=console,log_file
+
+[handler_console]
+class=logging.StreamHandler
+formatter=simple
+level=DEBUG
+args=tuple()
+
+[handler_log_file]
+class=logging.FileHandler
+level=INFO
+formatter=detailed
+args=(os.path.join(os.path.expanduser("~"),'.sasview/tests.log'),"w")
+
+###############################################################################
+# Loggers
+
+[loggers]
+keys=root,sas
+
+[logger_root]
+level=DEBUG
+formatter=default
+handlers=console,log_file
+
+[logger_sas]
+level=INFO
+qualname=sas
+handlers=console,log_file
Index: test/run_one.py
===================================================================
--- test/run_one.py	(revision 76f132a28f8a87fc91ae4fe9b234ceda800fa202)
+++ test/run_one.py	(revision c155a16ca3fb1da7057f151c62510d780700b9e8)
@@ -7,4 +7,10 @@
 import imp
 from os.path import abspath, dirname, split as splitpath, join as joinpath
+
+import logging
+import logging.config
+LOGGER_CONFIG_FILE = os.path.join(os.path.abspath(os.path.dirname(__file__)), 'logging.ini')
+logging.config.fileConfig(LOGGER_CONFIG_FILE, disable_existing_loggers=False)
+logger = logging.getLogger()
 
 run_py = joinpath(dirname(dirname(abspath(__file__))), 'run.py')
Index: test/sasdataloader/test/isis_1_0_write_test.xml
===================================================================
--- test/sasdataloader/test/isis_1_0_write_test.xml	(revision b699768550de9d4b35b087234ec1d2a461922bab)
+++ test/sasdataloader/test/isis_1_0_write_test.xml	(revision c155a16ca3fb1da7057f151c62510d780700b9e8)
@@ -0,0 +1,865 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<?xml-stylesheet type="text/xsl" href="cansasxml-html.xsl" ?>
+<SASroot xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="cansas1d/1.0" version="1.0" xsi:schemaLocation="cansas1d/1.0 http://svn.smallangles.net/svn/canSAS/1dwg/trunk/cansas1d.xsd">
+  <SASentry>
+    <Title>TK49 c10_SANS</Title>
+    <Run>79680</Run>
+    <SASdata>
+      <Idata>
+        <Q unit="Q | 1/A">0.009</Q>
+        <I unit="Intensity | 1/cm">85.3333</I>
+        <Idev unit="Intensity | 1/cm">0.852491</Idev>
+        <Qdev unit="Q | 1/A">0.0</Qdev>
+      </Idata>
+      <Idata>
+        <Q unit="Q | 1/A">0.011</Q>
+        <I unit="Intensity | 1/cm">72.5398</I>
+        <Idev unit="Intensity | 1/cm">0.639548</Idev>
+        <Qdev unit="Q | 1/A">0.0</Qdev>
+      </Idata>
+      <Idata>
+        <Q unit="Q | 1/A">0.013</Q>
+        <I unit="Intensity | 1/cm">63.3582</I>
+        <Idev unit="Intensity | 1/cm">0.494127</Idev>
+        <Qdev unit="Q | 1/A">0.0</Qdev>
+      </Idata>
+      <Idata>
+        <Q unit="Q | 1/A">0.015</Q>
+        <I unit="Intensity | 1/cm">57.0952</I>
+        <Idev unit="Intensity | 1/cm">0.414116</Idev>
+        <Qdev unit="Q | 1/A">0.0</Qdev>
+      </Idata>
+      <Idata>
+        <Q unit="Q | 1/A">0.017</Q>
+        <I unit="Intensity | 1/cm">51.0139</I>
+        <Idev unit="Intensity | 1/cm">0.35145</Idev>
+        <Qdev unit="Q | 1/A">0.0</Qdev>
+      </Idata>
+      <Idata>
+        <Q unit="Q | 1/A">0.019</Q>
+        <I unit="Intensity | 1/cm">46.4746</I>
+        <Idev unit="Intensity | 1/cm">0.308755</Idev>
+        <Qdev unit="Q | 1/A">0.0</Qdev>
+      </Idata>
+      <Idata>
+        <Q unit="Q | 1/A">0.021</Q>
+        <I unit="Intensity | 1/cm">41.7191</I>
+        <Idev unit="Intensity | 1/cm">0.271641</Idev>
+        <Qdev unit="Q | 1/A">0.0</Qdev>
+      </Idata>
+      <Idata>
+        <Q unit="Q | 1/A">0.023</Q>
+        <I unit="Intensity | 1/cm">37.4208</I>
+        <Idev unit="Intensity | 1/cm">0.244658</Idev>
+        <Qdev unit="Q | 1/A">0.0</Qdev>
+      </Idata>
+      <Idata>
+        <Q unit="Q | 1/A">0.025</Q>
+        <I unit="Intensity | 1/cm">33.7352</I>
+        <Idev unit="Intensity | 1/cm">0.219594</Idev>
+        <Qdev unit="Q | 1/A">0.0</Qdev>
+      </Idata>
+      <Idata>
+        <Q unit="Q | 1/A">0.027</Q>
+        <I unit="Intensity | 1/cm">30.6073</I>
+        <Idev unit="Intensity | 1/cm">0.203138</Idev>
+        <Qdev unit="Q | 1/A">0.0</Qdev>
+      </Idata>
+      <Idata>
+        <Q unit="Q | 1/A">0.029</Q>
+        <I unit="Intensity | 1/cm">27.7309</I>
+        <Idev unit="Intensity | 1/cm">0.185859</Idev>
+        <Qdev unit="Q | 1/A">0.0</Qdev>
+      </Idata>
+      <Idata>
+        <Q unit="Q | 1/A">0.031</Q>
+        <I unit="Intensity | 1/cm">25.2579</I>
+        <Idev unit="Intensity | 1/cm">0.171356</Idev>
+        <Qdev unit="Q | 1/A">0.0</Qdev>
+      </Idata>
+      <Idata>
+        <Q unit="Q | 1/A">0.033</Q>
+        <I unit="Intensity | 1/cm">22.7712</I>
+        <Idev unit="Intensity | 1/cm">0.159062</Idev>
+        <Qdev unit="Q | 1/A">0.0</Qdev>
+      </Idata>
+      <Idata>
+        <Q unit="Q | 1/A">0.035</Q>
+        <I unit="Intensity | 1/cm">20.5323</I>
+        <Idev unit="Intensity | 1/cm">0.146135</Idev>
+        <Qdev unit="Q | 1/A">0.0</Qdev>
+      </Idata>
+      <Idata>
+        <Q unit="Q | 1/A">0.037</Q>
+        <I unit="Intensity | 1/cm">19.0744</I>
+        <Idev unit="Intensity | 1/cm">0.136393</Idev>
+        <Qdev unit="Q | 1/A">0.0</Qdev>
+      </Idata>
+      <Idata>
+        <Q unit="Q | 1/A">0.039</Q>
+        <I unit="Intensity | 1/cm">17.2832</I>
+        <Idev unit="Intensity | 1/cm">0.127623</Idev>
+        <Qdev unit="Q | 1/A">0.0</Qdev>
+      </Idata>
+      <Idata>
+        <Q unit="Q | 1/A">0.041</Q>
+        <I unit="Intensity | 1/cm">15.7399</I>
+        <Idev unit="Intensity | 1/cm">0.118288</Idev>
+        <Qdev unit="Q | 1/A">0.0</Qdev>
+      </Idata>
+      <Idata>
+        <Q unit="Q | 1/A">0.043</Q>
+        <I unit="Intensity | 1/cm">14.5598</I>
+        <Idev unit="Intensity | 1/cm">0.111759</Idev>
+        <Qdev unit="Q | 1/A">0.0</Qdev>
+      </Idata>
+      <Idata>
+        <Q unit="Q | 1/A">0.045</Q>
+        <I unit="Intensity | 1/cm">13.5906</I>
+        <Idev unit="Intensity | 1/cm">0.105148</Idev>
+        <Qdev unit="Q | 1/A">0.0</Qdev>
+      </Idata>
+      <Idata>
+        <Q unit="Q | 1/A">0.047</Q>
+        <I unit="Intensity | 1/cm">12.6707</I>
+        <Idev unit="Intensity | 1/cm">0.0996579</Idev>
+        <Qdev unit="Q | 1/A">0.0</Qdev>
+      </Idata>
+      <Idata>
+        <Q unit="Q | 1/A">0.049</Q>
+        <I unit="Intensity | 1/cm">11.5247</I>
+        <Idev unit="Intensity | 1/cm">0.0929646</Idev>
+        <Qdev unit="Q | 1/A">0.0</Qdev>
+      </Idata>
+      <Idata>
+        <Q unit="Q | 1/A">0.051</Q>
+        <I unit="Intensity | 1/cm">10.7089</I>
+        <Idev unit="Intensity | 1/cm">0.0888575</Idev>
+        <Qdev unit="Q | 1/A">0.0</Qdev>
+      </Idata>
+      <Idata>
+        <Q unit="Q | 1/A">0.053</Q>
+        <I unit="Intensity | 1/cm">10.1436</I>
+        <Idev unit="Intensity | 1/cm">0.0849394</Idev>
+        <Qdev unit="Q | 1/A">0.0</Qdev>
+      </Idata>
+      <Idata>
+        <Q unit="Q | 1/A">0.055</Q>
+        <I unit="Intensity | 1/cm">9.49446</I>
+        <Idev unit="Intensity | 1/cm">0.0811205</Idev>
+        <Qdev unit="Q | 1/A">0.0</Qdev>
+      </Idata>
+      <Idata>
+        <Q unit="Q | 1/A">0.057</Q>
+        <I unit="Intensity | 1/cm">8.80775</I>
+        <Idev unit="Intensity | 1/cm">0.0773967</Idev>
+        <Qdev unit="Q | 1/A">0.0</Qdev>
+      </Idata>
+      <Idata>
+        <Q unit="Q | 1/A">0.059</Q>
+        <I unit="Intensity | 1/cm">8.33366</I>
+        <Idev unit="Intensity | 1/cm">0.0748147</Idev>
+        <Qdev unit="Q | 1/A">0.0</Qdev>
+      </Idata>
+      <Idata>
+        <Q unit="Q | 1/A">0.061</Q>
+        <I unit="Intensity | 1/cm">7.79157</I>
+        <Idev unit="Intensity | 1/cm">0.0720107</Idev>
+        <Qdev unit="Q | 1/A">0.0</Qdev>
+      </Idata>
+      <Idata>
+        <Q unit="Q | 1/A">0.063</Q>
+        <I unit="Intensity | 1/cm">7.25902</I>
+        <Idev unit="Intensity | 1/cm">0.0693582</Idev>
+        <Qdev unit="Q | 1/A">0.0</Qdev>
+      </Idata>
+      <Idata>
+        <Q unit="Q | 1/A">0.065</Q>
+        <I unit="Intensity | 1/cm">7.04789</I>
+        <Idev unit="Intensity | 1/cm">0.0677591</Idev>
+        <Qdev unit="Q | 1/A">0.0</Qdev>
+      </Idata>
+      <Idata>
+        <Q unit="Q | 1/A">0.067</Q>
+        <I unit="Intensity | 1/cm">6.53311</I>
+        <Idev unit="Intensity | 1/cm">0.0652207</Idev>
+        <Qdev unit="Q | 1/A">0.0</Qdev>
+      </Idata>
+      <Idata>
+        <Q unit="Q | 1/A">0.069</Q>
+        <I unit="Intensity | 1/cm">6.2453</I>
+        <Idev unit="Intensity | 1/cm">0.0642016</Idev>
+        <Qdev unit="Q | 1/A">0.0</Qdev>
+      </Idata>
+      <Idata>
+        <Q unit="Q | 1/A">0.071</Q>
+        <I unit="Intensity | 1/cm">5.94152</I>
+        <Idev unit="Intensity | 1/cm">0.0625768</Idev>
+        <Qdev unit="Q | 1/A">0.0</Qdev>
+      </Idata>
+      <Idata>
+        <Q unit="Q | 1/A">0.073</Q>
+        <I unit="Intensity | 1/cm">5.70816</I>
+        <Idev unit="Intensity | 1/cm">0.0612955</Idev>
+        <Qdev unit="Q | 1/A">0.0</Qdev>
+      </Idata>
+      <Idata>
+        <Q unit="Q | 1/A">0.075</Q>
+        <I unit="Intensity | 1/cm">5.24449</I>
+        <Idev unit="Intensity | 1/cm">0.060141</Idev>
+        <Qdev unit="Q | 1/A">0.0</Qdev>
+      </Idata>
+      <Idata>
+        <Q unit="Q | 1/A">0.077</Q>
+        <I unit="Intensity | 1/cm">5.08291</I>
+        <Idev unit="Intensity | 1/cm">0.0582239</Idev>
+        <Qdev unit="Q | 1/A">0.0</Qdev>
+      </Idata>
+      <Idata>
+        <Q unit="Q | 1/A">0.079</Q>
+        <I unit="Intensity | 1/cm">4.88135</I>
+        <Idev unit="Intensity | 1/cm">0.057969</Idev>
+        <Qdev unit="Q | 1/A">0.0</Qdev>
+      </Idata>
+      <Idata>
+        <Q unit="Q | 1/A">0.081</Q>
+        <I unit="Intensity | 1/cm">4.60942</I>
+        <Idev unit="Intensity | 1/cm">0.056813</Idev>
+        <Qdev unit="Q | 1/A">0.0</Qdev>
+      </Idata>
+      <Idata>
+        <Q unit="Q | 1/A">0.083</Q>
+        <I unit="Intensity | 1/cm">4.46606</I>
+        <Idev unit="Intensity | 1/cm">0.0569381</Idev>
+        <Qdev unit="Q | 1/A">0.0</Qdev>
+      </Idata>
+      <Idata>
+        <Q unit="Q | 1/A">0.085</Q>
+        <I unit="Intensity | 1/cm">4.32473</I>
+        <Idev unit="Intensity | 1/cm">0.0558766</Idev>
+        <Qdev unit="Q | 1/A">0.0</Qdev>
+      </Idata>
+      <Idata>
+        <Q unit="Q | 1/A">0.087</Q>
+        <I unit="Intensity | 1/cm">4.14144</I>
+        <Idev unit="Intensity | 1/cm">0.0552525</Idev>
+        <Qdev unit="Q | 1/A">0.0</Qdev>
+      </Idata>
+      <Idata>
+        <Q unit="Q | 1/A">0.089</Q>
+        <I unit="Intensity | 1/cm">3.86504</I>
+        <Idev unit="Intensity | 1/cm">0.0544569</Idev>
+        <Qdev unit="Q | 1/A">0.0</Qdev>
+      </Idata>
+      <Idata>
+        <Q unit="Q | 1/A">0.091</Q>
+        <I unit="Intensity | 1/cm">3.74272</I>
+        <Idev unit="Intensity | 1/cm">0.0529596</Idev>
+        <Qdev unit="Q | 1/A">0.0</Qdev>
+      </Idata>
+      <Idata>
+        <Q unit="Q | 1/A">0.093</Q>
+        <I unit="Intensity | 1/cm">3.68281</I>
+        <Idev unit="Intensity | 1/cm">0.052891</Idev>
+        <Qdev unit="Q | 1/A">0.0</Qdev>
+      </Idata>
+      <Idata>
+        <Q unit="Q | 1/A">0.095</Q>
+        <I unit="Intensity | 1/cm">3.46991</I>
+        <Idev unit="Intensity | 1/cm">0.0517565</Idev>
+        <Qdev unit="Q | 1/A">0.0</Qdev>
+      </Idata>
+      <Idata>
+        <Q unit="Q | 1/A">0.097</Q>
+        <I unit="Intensity | 1/cm">3.37244</I>
+        <Idev unit="Intensity | 1/cm">0.0509328</Idev>
+        <Qdev unit="Q | 1/A">0.0</Qdev>
+      </Idata>
+      <Idata>
+        <Q unit="Q | 1/A">0.099</Q>
+        <I unit="Intensity | 1/cm">3.27074</I>
+        <Idev unit="Intensity | 1/cm">0.0505183</Idev>
+        <Qdev unit="Q | 1/A">0.0</Qdev>
+      </Idata>
+      <Idata>
+        <Q unit="Q | 1/A">0.101</Q>
+        <I unit="Intensity | 1/cm">3.13326</I>
+        <Idev unit="Intensity | 1/cm">0.0490847</Idev>
+        <Qdev unit="Q | 1/A">0.0</Qdev>
+      </Idata>
+      <Idata>
+        <Q unit="Q | 1/A">0.103</Q>
+        <I unit="Intensity | 1/cm">3.01387</I>
+        <Idev unit="Intensity | 1/cm">0.0487012</Idev>
+        <Qdev unit="Q | 1/A">0.0</Qdev>
+      </Idata>
+      <Idata>
+        <Q unit="Q | 1/A">0.105</Q>
+        <I unit="Intensity | 1/cm">2.87628</I>
+        <Idev unit="Intensity | 1/cm">0.0484307</Idev>
+        <Qdev unit="Q | 1/A">0.0</Qdev>
+      </Idata>
+      <Idata>
+        <Q unit="Q | 1/A">0.107</Q>
+        <I unit="Intensity | 1/cm">2.85043</I>
+        <Idev unit="Intensity | 1/cm">0.0476786</Idev>
+        <Qdev unit="Q | 1/A">0.0</Qdev>
+      </Idata>
+      <Idata>
+        <Q unit="Q | 1/A">0.109</Q>
+        <I unit="Intensity | 1/cm">2.72799</I>
+        <Idev unit="Intensity | 1/cm">0.0475526</Idev>
+        <Qdev unit="Q | 1/A">0.0</Qdev>
+      </Idata>
+      <Idata>
+        <Q unit="Q | 1/A">0.111</Q>
+        <I unit="Intensity | 1/cm">2.61206</I>
+        <Idev unit="Intensity | 1/cm">0.0467475</Idev>
+        <Qdev unit="Q | 1/A">0.0</Qdev>
+      </Idata>
+      <Idata>
+        <Q unit="Q | 1/A">0.113</Q>
+        <I unit="Intensity | 1/cm">2.58895</I>
+        <Idev unit="Intensity | 1/cm">0.0469767</Idev>
+        <Qdev unit="Q | 1/A">0.0</Qdev>
+      </Idata>
+      <Idata>
+        <Q unit="Q | 1/A">0.115</Q>
+        <I unit="Intensity | 1/cm">2.45987</I>
+        <Idev unit="Intensity | 1/cm">0.0460139</Idev>
+        <Qdev unit="Q | 1/A">0.0</Qdev>
+      </Idata>
+      <Idata>
+        <Q unit="Q | 1/A">0.117</Q>
+        <I unit="Intensity | 1/cm">2.37723</I>
+        <Idev unit="Intensity | 1/cm">0.045272</Idev>
+        <Qdev unit="Q | 1/A">0.0</Qdev>
+      </Idata>
+      <Idata>
+        <Q unit="Q | 1/A">0.119</Q>
+        <I unit="Intensity | 1/cm">2.34122</I>
+        <Idev unit="Intensity | 1/cm">0.0453741</Idev>
+        <Qdev unit="Q | 1/A">0.0</Qdev>
+      </Idata>
+      <Idata>
+        <Q unit="Q | 1/A">0.121</Q>
+        <I unit="Intensity | 1/cm">2.21745</I>
+        <Idev unit="Intensity | 1/cm">0.0444485</Idev>
+        <Qdev unit="Q | 1/A">0.0</Qdev>
+      </Idata>
+      <Idata>
+        <Q unit="Q | 1/A">0.123</Q>
+        <I unit="Intensity | 1/cm">2.12646</I>
+        <Idev unit="Intensity | 1/cm">0.0438385</Idev>
+        <Qdev unit="Q | 1/A">0.0</Qdev>
+      </Idata>
+      <Idata>
+        <Q unit="Q | 1/A">0.125</Q>
+        <I unit="Intensity | 1/cm">2.11264</I>
+        <Idev unit="Intensity | 1/cm">0.0441662</Idev>
+        <Qdev unit="Q | 1/A">0.0</Qdev>
+      </Idata>
+      <Idata>
+        <Q unit="Q | 1/A">0.127</Q>
+        <I unit="Intensity | 1/cm">2.07523</I>
+        <Idev unit="Intensity | 1/cm">0.0438979</Idev>
+        <Qdev unit="Q | 1/A">0.0</Qdev>
+      </Idata>
+      <Idata>
+        <Q unit="Q | 1/A">0.129</Q>
+        <I unit="Intensity | 1/cm">2.03548</I>
+        <Idev unit="Intensity | 1/cm">0.0442422</Idev>
+        <Qdev unit="Q | 1/A">0.0</Qdev>
+      </Idata>
+      <Idata>
+        <Q unit="Q | 1/A">0.131</Q>
+        <I unit="Intensity | 1/cm">1.92452</I>
+        <Idev unit="Intensity | 1/cm">0.0435959</Idev>
+        <Qdev unit="Q | 1/A">0.0</Qdev>
+      </Idata>
+      <Idata>
+        <Q unit="Q | 1/A">0.133</Q>
+        <I unit="Intensity | 1/cm">1.90866</I>
+        <Idev unit="Intensity | 1/cm">0.0437401</Idev>
+        <Qdev unit="Q | 1/A">0.0</Qdev>
+      </Idata>
+      <Idata>
+        <Q unit="Q | 1/A">0.135</Q>
+        <I unit="Intensity | 1/cm">1.91252</I>
+        <Idev unit="Intensity | 1/cm">0.0443163</Idev>
+        <Qdev unit="Q | 1/A">0.0</Qdev>
+      </Idata>
+      <Idata>
+        <Q unit="Q | 1/A">0.137</Q>
+        <I unit="Intensity | 1/cm">1.80405</I>
+        <Idev unit="Intensity | 1/cm">0.043466</Idev>
+        <Qdev unit="Q | 1/A">0.0</Qdev>
+      </Idata>
+      <Idata>
+        <Q unit="Q | 1/A">0.139</Q>
+        <I unit="Intensity | 1/cm">1.72166</I>
+        <Idev unit="Intensity | 1/cm">0.0429246</Idev>
+        <Qdev unit="Q | 1/A">0.0</Qdev>
+      </Idata>
+      <Idata>
+        <Q unit="Q | 1/A">0.141</Q>
+        <I unit="Intensity | 1/cm">1.67199</I>
+        <Idev unit="Intensity | 1/cm">0.042469</Idev>
+        <Qdev unit="Q | 1/A">0.0</Qdev>
+      </Idata>
+      <Idata>
+        <Q unit="Q | 1/A">0.143</Q>
+        <I unit="Intensity | 1/cm">1.63282</I>
+        <Idev unit="Intensity | 1/cm">0.0430074</Idev>
+        <Qdev unit="Q | 1/A">0.0</Qdev>
+      </Idata>
+      <Idata>
+        <Q unit="Q | 1/A">0.145</Q>
+        <I unit="Intensity | 1/cm">1.63712</I>
+        <Idev unit="Intensity | 1/cm">0.0438557</Idev>
+        <Qdev unit="Q | 1/A">0.0</Qdev>
+      </Idata>
+      <Idata>
+        <Q unit="Q | 1/A">0.147</Q>
+        <I unit="Intensity | 1/cm">1.5862</I>
+        <Idev unit="Intensity | 1/cm">0.0434135</Idev>
+        <Qdev unit="Q | 1/A">0.0</Qdev>
+      </Idata>
+      <Idata>
+        <Q unit="Q | 1/A">0.149</Q>
+        <I unit="Intensity | 1/cm">1.56121</I>
+        <Idev unit="Intensity | 1/cm">0.0432591</Idev>
+        <Qdev unit="Q | 1/A">0.0</Qdev>
+      </Idata>
+      <Idata>
+        <Q unit="Q | 1/A">0.151</Q>
+        <I unit="Intensity | 1/cm">1.49764</I>
+        <Idev unit="Intensity | 1/cm">0.0426577</Idev>
+        <Qdev unit="Q | 1/A">0.0</Qdev>
+      </Idata>
+      <Idata>
+        <Q unit="Q | 1/A">0.153</Q>
+        <I unit="Intensity | 1/cm">1.53828</I>
+        <Idev unit="Intensity | 1/cm">0.0446481</Idev>
+        <Qdev unit="Q | 1/A">0.0</Qdev>
+      </Idata>
+      <Idata>
+        <Q unit="Q | 1/A">0.155</Q>
+        <I unit="Intensity | 1/cm">1.47366</I>
+        <Idev unit="Intensity | 1/cm">0.0441973</Idev>
+        <Qdev unit="Q | 1/A">0.0</Qdev>
+      </Idata>
+      <Idata>
+        <Q unit="Q | 1/A">0.157</Q>
+        <I unit="Intensity | 1/cm">1.40582</I>
+        <Idev unit="Intensity | 1/cm">0.0430461</Idev>
+        <Qdev unit="Q | 1/A">0.0</Qdev>
+      </Idata>
+      <Idata>
+        <Q unit="Q | 1/A">0.159</Q>
+        <I unit="Intensity | 1/cm">1.40491</I>
+        <Idev unit="Intensity | 1/cm">0.0439883</Idev>
+        <Qdev unit="Q | 1/A">0.0</Qdev>
+      </Idata>
+      <Idata>
+        <Q unit="Q | 1/A">0.161</Q>
+        <I unit="Intensity | 1/cm">1.34639</I>
+        <Idev unit="Intensity | 1/cm">0.044193</Idev>
+        <Qdev unit="Q | 1/A">0.0</Qdev>
+      </Idata>
+      <Idata>
+        <Q unit="Q | 1/A">0.163</Q>
+        <I unit="Intensity | 1/cm">1.32238</I>
+        <Idev unit="Intensity | 1/cm">0.0438008</Idev>
+        <Qdev unit="Q | 1/A">0.0</Qdev>
+      </Idata>
+      <Idata>
+        <Q unit="Q | 1/A">0.165</Q>
+        <I unit="Intensity | 1/cm">1.33885</I>
+        <Idev unit="Intensity | 1/cm">0.0445383</Idev>
+        <Qdev unit="Q | 1/A">0.0</Qdev>
+      </Idata>
+      <Idata>
+        <Q unit="Q | 1/A">0.167</Q>
+        <I unit="Intensity | 1/cm">1.29608</I>
+        <Idev unit="Intensity | 1/cm">0.0451575</Idev>
+        <Qdev unit="Q | 1/A">0.0</Qdev>
+      </Idata>
+      <Idata>
+        <Q unit="Q | 1/A">0.169</Q>
+        <I unit="Intensity | 1/cm">1.30562</I>
+        <Idev unit="Intensity | 1/cm">0.0460656</Idev>
+        <Qdev unit="Q | 1/A">0.0</Qdev>
+      </Idata>
+      <Idata>
+        <Q unit="Q | 1/A">0.171</Q>
+        <I unit="Intensity | 1/cm">1.17147</I>
+        <Idev unit="Intensity | 1/cm">0.0435717</Idev>
+        <Qdev unit="Q | 1/A">0.0</Qdev>
+      </Idata>
+      <Idata>
+        <Q unit="Q | 1/A">0.173</Q>
+        <I unit="Intensity | 1/cm">1.18565</I>
+        <Idev unit="Intensity | 1/cm">0.0449072</Idev>
+        <Qdev unit="Q | 1/A">0.0</Qdev>
+      </Idata>
+      <Idata>
+        <Q unit="Q | 1/A">0.175</Q>
+        <I unit="Intensity | 1/cm">1.18944</I>
+        <Idev unit="Intensity | 1/cm">0.0465319</Idev>
+        <Qdev unit="Q | 1/A">0.0</Qdev>
+      </Idata>
+      <Idata>
+        <Q unit="Q | 1/A">0.177</Q>
+        <I unit="Intensity | 1/cm">1.17055</I>
+        <Idev unit="Intensity | 1/cm">0.0456562</Idev>
+        <Qdev unit="Q | 1/A">0.0</Qdev>
+      </Idata>
+      <Idata>
+        <Q unit="Q | 1/A">0.179</Q>
+        <I unit="Intensity | 1/cm">1.08571</I>
+        <Idev unit="Intensity | 1/cm">0.0453852</Idev>
+        <Qdev unit="Q | 1/A">0.0</Qdev>
+      </Idata>
+      <Idata>
+        <Q unit="Q | 1/A">0.181</Q>
+        <I unit="Intensity | 1/cm">1.06208</I>
+        <Idev unit="Intensity | 1/cm">0.0463335</Idev>
+        <Qdev unit="Q | 1/A">0.0</Qdev>
+      </Idata>
+      <Idata>
+        <Q unit="Q | 1/A">0.183</Q>
+        <I unit="Intensity | 1/cm">1.06187</I>
+        <Idev unit="Intensity | 1/cm">0.0458284</Idev>
+        <Qdev unit="Q | 1/A">0.0</Qdev>
+      </Idata>
+      <Idata>
+        <Q unit="Q | 1/A">0.185</Q>
+        <I unit="Intensity | 1/cm">1.02727</I>
+        <Idev unit="Intensity | 1/cm">0.0472613</Idev>
+        <Qdev unit="Q | 1/A">0.0</Qdev>
+      </Idata>
+      <Idata>
+        <Q unit="Q | 1/A">0.187</Q>
+        <I unit="Intensity | 1/cm">0.995169</I>
+        <Idev unit="Intensity | 1/cm">0.0465526</Idev>
+        <Qdev unit="Q | 1/A">0.0</Qdev>
+      </Idata>
+      <Idata>
+        <Q unit="Q | 1/A">0.189</Q>
+        <I unit="Intensity | 1/cm">1.02569</I>
+        <Idev unit="Intensity | 1/cm">0.0483728</Idev>
+        <Qdev unit="Q | 1/A">0.0</Qdev>
+      </Idata>
+      <Idata>
+        <Q unit="Q | 1/A">0.191</Q>
+        <I unit="Intensity | 1/cm">0.981154</I>
+        <Idev unit="Intensity | 1/cm">0.0490559</Idev>
+        <Qdev unit="Q | 1/A">0.0</Qdev>
+      </Idata>
+      <Idata>
+        <Q unit="Q | 1/A">0.193</Q>
+        <I unit="Intensity | 1/cm">1.01831</I>
+        <Idev unit="Intensity | 1/cm">0.0502348</Idev>
+        <Qdev unit="Q | 1/A">0.0</Qdev>
+      </Idata>
+      <Idata>
+        <Q unit="Q | 1/A">0.195</Q>
+        <I unit="Intensity | 1/cm">0.968102</I>
+        <Idev unit="Intensity | 1/cm">0.0504426</Idev>
+        <Qdev unit="Q | 1/A">0.0</Qdev>
+      </Idata>
+      <Idata>
+        <Q unit="Q | 1/A">0.197</Q>
+        <I unit="Intensity | 1/cm">0.940656</I>
+        <Idev unit="Intensity | 1/cm">0.0512734</Idev>
+        <Qdev unit="Q | 1/A">0.0</Qdev>
+      </Idata>
+      <Idata>
+        <Q unit="Q | 1/A">0.199</Q>
+        <I unit="Intensity | 1/cm">1.05762</I>
+        <Idev unit="Intensity | 1/cm">0.0547469</Idev>
+        <Qdev unit="Q | 1/A">0.0</Qdev>
+      </Idata>
+      <Idata>
+        <Q unit="Q | 1/A">0.201</Q>
+        <I unit="Intensity | 1/cm">0.949872</I>
+        <Idev unit="Intensity | 1/cm">0.055229</Idev>
+        <Qdev unit="Q | 1/A">0.0</Qdev>
+      </Idata>
+      <Idata>
+        <Q unit="Q | 1/A">0.203</Q>
+        <I unit="Intensity | 1/cm">0.891716</I>
+        <Idev unit="Intensity | 1/cm">0.0531346</Idev>
+        <Qdev unit="Q | 1/A">0.0</Qdev>
+      </Idata>
+      <Idata>
+        <Q unit="Q | 1/A">0.205</Q>
+        <I unit="Intensity | 1/cm">0.876084</I>
+        <Idev unit="Intensity | 1/cm">0.0548681</Idev>
+        <Qdev unit="Q | 1/A">0.0</Qdev>
+      </Idata>
+      <Idata>
+        <Q unit="Q | 1/A">0.207</Q>
+        <I unit="Intensity | 1/cm">0.932101</I>
+        <Idev unit="Intensity | 1/cm">0.0576812</Idev>
+        <Qdev unit="Q | 1/A">0.0</Qdev>
+      </Idata>
+      <Idata>
+        <Q unit="Q | 1/A">0.209</Q>
+        <I unit="Intensity | 1/cm">0.927755</I>
+        <Idev unit="Intensity | 1/cm">0.0593404</Idev>
+        <Qdev unit="Q | 1/A">0.0</Qdev>
+      </Idata>
+      <Idata>
+        <Q unit="Q | 1/A">0.211</Q>
+        <I unit="Intensity | 1/cm">0.87669</I>
+        <Idev unit="Intensity | 1/cm">0.0600369</Idev>
+        <Qdev unit="Q | 1/A">0.0</Qdev>
+      </Idata>
+      <Idata>
+        <Q unit="Q | 1/A">0.213</Q>
+        <I unit="Intensity | 1/cm">0.809125</I>
+        <Idev unit="Intensity | 1/cm">0.0588107</Idev>
+        <Qdev unit="Q | 1/A">0.0</Qdev>
+      </Idata>
+      <Idata>
+        <Q unit="Q | 1/A">0.215</Q>
+        <I unit="Intensity | 1/cm">0.941202</I>
+        <Idev unit="Intensity | 1/cm">0.0659121</Idev>
+        <Qdev unit="Q | 1/A">0.0</Qdev>
+      </Idata>
+      <Idata>
+        <Q unit="Q | 1/A">0.217</Q>
+        <I unit="Intensity | 1/cm">0.946175</I>
+        <Idev unit="Intensity | 1/cm">0.0690784</Idev>
+        <Qdev unit="Q | 1/A">0.0</Qdev>
+      </Idata>
+      <Idata>
+        <Q unit="Q | 1/A">0.219</Q>
+        <I unit="Intensity | 1/cm">0.859875</I>
+        <Idev unit="Intensity | 1/cm">0.0674435</Idev>
+        <Qdev unit="Q | 1/A">0.0</Qdev>
+      </Idata>
+      <Idata>
+        <Q unit="Q | 1/A">0.221</Q>
+        <I unit="Intensity | 1/cm">0.959508</I>
+        <Idev unit="Intensity | 1/cm">0.0718856</Idev>
+        <Qdev unit="Q | 1/A">0.0</Qdev>
+      </Idata>
+      <Idata>
+        <Q unit="Q | 1/A">0.223</Q>
+        <I unit="Intensity | 1/cm">0.763222</I>
+        <Idev unit="Intensity | 1/cm">0.0702866</Idev>
+        <Qdev unit="Q | 1/A">0.0</Qdev>
+      </Idata>
+      <Idata>
+        <Q unit="Q | 1/A">0.225</Q>
+        <I unit="Intensity | 1/cm">0.785467</I>
+        <Idev unit="Intensity | 1/cm">0.0742144</Idev>
+        <Qdev unit="Q | 1/A">0.0</Qdev>
+      </Idata>
+      <Idata>
+        <Q unit="Q | 1/A">0.227</Q>
+        <I unit="Intensity | 1/cm">0.81876</I>
+        <Idev unit="Intensity | 1/cm">0.074266</Idev>
+        <Qdev unit="Q | 1/A">0.0</Qdev>
+      </Idata>
+      <Idata>
+        <Q unit="Q | 1/A">0.229</Q>
+        <I unit="Intensity | 1/cm">0.678311</I>
+        <Idev unit="Intensity | 1/cm">0.0722578</Idev>
+        <Qdev unit="Q | 1/A">0.0</Qdev>
+      </Idata>
+      <Idata>
+        <Q unit="Q | 1/A">0.231</Q>
+        <I unit="Intensity | 1/cm">0.761442</I>
+        <Idev unit="Intensity | 1/cm">0.0814516</Idev>
+        <Qdev unit="Q | 1/A">0.0</Qdev>
+      </Idata>
+      <Idata>
+        <Q unit="Q | 1/A">0.233</Q>
+        <I unit="Intensity | 1/cm">0.757076</I>
+        <Idev unit="Intensity | 1/cm">0.0825262</Idev>
+        <Qdev unit="Q | 1/A">0.0</Qdev>
+      </Idata>
+      <Idata>
+        <Q unit="Q | 1/A">0.235</Q>
+        <I unit="Intensity | 1/cm">0.600636</I>
+        <Idev unit="Intensity | 1/cm">0.075041</Idev>
+        <Qdev unit="Q | 1/A">0.0</Qdev>
+      </Idata>
+      <Idata>
+        <Q unit="Q | 1/A">0.237</Q>
+        <I unit="Intensity | 1/cm">0.685635</I>
+        <Idev unit="Intensity | 1/cm">0.0842392</Idev>
+        <Qdev unit="Q | 1/A">0.0</Qdev>
+      </Idata>
+      <Idata>
+        <Q unit="Q | 1/A">0.239</Q>
+        <I unit="Intensity | 1/cm">0.799186</I>
+        <Idev unit="Intensity | 1/cm">0.0974365</Idev>
+        <Qdev unit="Q | 1/A">0.0</Qdev>
+      </Idata>
+      <Idata>
+        <Q unit="Q | 1/A">0.241</Q>
+        <I unit="Intensity | 1/cm">0.737526</I>
+        <Idev unit="Intensity | 1/cm">0.0957286</Idev>
+        <Qdev unit="Q | 1/A">0.0</Qdev>
+      </Idata>
+      <Idata>
+        <Q unit="Q | 1/A">0.243</Q>
+        <I unit="Intensity | 1/cm">0.716415</I>
+        <Idev unit="Intensity | 1/cm">0.0970448</Idev>
+        <Qdev unit="Q | 1/A">0.0</Qdev>
+      </Idata>
+      <Idata>
+        <Q unit="Q | 1/A">0.245</Q>
+        <I unit="Intensity | 1/cm">0.720413</I>
+        <Idev unit="Intensity | 1/cm">0.0981996</Idev>
+        <Qdev unit="Q | 1/A">0.0</Qdev>
+      </Idata>
+      <Idata>
+        <Q unit="Q | 1/A">0.247</Q>
+        <I unit="Intensity | 1/cm">0.604059</I>
+        <Idev unit="Intensity | 1/cm">0.100869</Idev>
+        <Qdev unit="Q | 1/A">0.0</Qdev>
+      </Idata>
+      <Idata>
+        <Q unit="Q | 1/A">0.249</Q>
+        <I unit="Intensity | 1/cm">0.649073</I>
+        <Idev unit="Intensity | 1/cm">0.109281</Idev>
+        <Qdev unit="Q | 1/A">0.0</Qdev>
+      </Idata>
+      <Idata>
+        <Q unit="Q | 1/A">0.251</Q>
+        <I unit="Intensity | 1/cm">0.700691</I>
+        <Idev unit="Intensity | 1/cm">0.114325</Idev>
+        <Qdev unit="Q | 1/A">0.0</Qdev>
+      </Idata>
+      <Idata>
+        <Q unit="Q | 1/A">0.253</Q>
+        <I unit="Intensity | 1/cm">0.586789</I>
+        <Idev unit="Intensity | 1/cm">0.108324</Idev>
+        <Qdev unit="Q | 1/A">0.0</Qdev>
+      </Idata>
+      <Idata>
+        <Q unit="Q | 1/A">0.255</Q>
+        <I unit="Intensity | 1/cm">0.765838</I>
+        <Idev unit="Intensity | 1/cm">0.139579</Idev>
+        <Qdev unit="Q | 1/A">0.0</Qdev>
+      </Idata>
+      <Idata>
+        <Q unit="Q | 1/A">0.257</Q>
+        <I unit="Intensity | 1/cm">0.828968</I>
+        <Idev unit="Intensity | 1/cm">0.156723</Idev>
+        <Qdev unit="Q | 1/A">0.0</Qdev>
+      </Idata>
+      <Idata>
+        <Q unit="Q | 1/A">0.259</Q>
+        <I unit="Intensity | 1/cm">0.616499</I>
+        <Idev unit="Intensity | 1/cm">0.137866</Idev>
+        <Qdev unit="Q | 1/A">0.0</Qdev>
+      </Idata>
+      <Idata>
+        <Q unit="Q | 1/A">0.261</Q>
+        <I unit="Intensity | 1/cm">0.526011</I>
+        <Idev unit="Intensity | 1/cm">0.126209</Idev>
+        <Qdev unit="Q | 1/A">0.0</Qdev>
+      </Idata>
+      <Idata>
+        <Q unit="Q | 1/A">0.263</Q>
+        <I unit="Intensity | 1/cm">0.51277</I>
+        <Idev unit="Intensity | 1/cm">0.126339</Idev>
+        <Qdev unit="Q | 1/A">0.0</Qdev>
+      </Idata>
+      <Idata>
+        <Q unit="Q | 1/A">0.265</Q>
+        <I unit="Intensity | 1/cm">0.604189</I>
+        <Idev unit="Intensity | 1/cm">0.166393</Idev>
+        <Qdev unit="Q | 1/A">0.0</Qdev>
+      </Idata>
+      <Idata>
+        <Q unit="Q | 1/A">0.267</Q>
+        <I unit="Intensity | 1/cm">0.738765</I>
+        <Idev unit="Intensity | 1/cm">0.194006</Idev>
+        <Qdev unit="Q | 1/A">0.0</Qdev>
+      </Idata>
+      <Idata>
+        <Q unit="Q | 1/A">0.269</Q>
+        <I unit="Intensity | 1/cm">0.462803</I>
+        <Idev unit="Intensity | 1/cm">0.155354</Idev>
+        <Qdev unit="Q | 1/A">0.0</Qdev>
+      </Idata>
+      <Idata>
+        <Q unit="Q | 1/A">0.271</Q>
+        <I unit="Intensity | 1/cm">0.478694</I>
+        <Idev unit="Intensity | 1/cm">0.171676</Idev>
+        <Qdev unit="Q | 1/A">0.0</Qdev>
+      </Idata>
+      <Idata>
+        <Q unit="Q | 1/A">0.273</Q>
+        <I unit="Intensity | 1/cm">0.711983</I>
+        <Idev unit="Intensity | 1/cm">0.255539</Idev>
+        <Qdev unit="Q | 1/A">0.0</Qdev>
+      </Idata>
+      <Idata>
+        <Q unit="Q | 1/A">0.275</Q>
+        <I unit="Intensity | 1/cm">0.473304</I>
+        <Idev unit="Intensity | 1/cm">0.230752</Idev>
+        <Qdev unit="Q | 1/A">0.0</Qdev>
+      </Idata>
+      <Idata>
+        <Q unit="Q | 1/A">0.277</Q>
+        <I unit="Intensity | 1/cm">0.536817</I>
+        <Idev unit="Intensity | 1/cm">0.262627</Idev>
+        <Qdev unit="Q | 1/A">0.0</Qdev>
+      </Idata>
+      <Idata>
+        <Q unit="Q | 1/A">0.279</Q>
+        <I unit="Intensity | 1/cm">0.660654</I>
+        <Idev unit="Intensity | 1/cm">0.297519</Idev>
+        <Qdev unit="Q | 1/A">0.0</Qdev>
+      </Idata>
+      <Idata>
+        <Q unit="Q | 1/A">0.281</Q>
+        <I unit="Intensity | 1/cm">0.408902</I>
+        <Idev unit="Intensity | 1/cm">0.24585</Idev>
+        <Qdev unit="Q | 1/A">0.0</Qdev>
+      </Idata>
+      <Idata>
+        <Q unit="Q | 1/A">0.283</Q>
+        <I unit="Intensity | 1/cm">0.0</I>
+        <Idev unit="Intensity | 1/cm">0.0</Idev>
+        <Qdev unit="Q | 1/A">0.0</Qdev>
+      </Idata>
+    </SASdata>
+    <SASsample name="">
+      <ID>TK49 c10_SANS</ID>
+    </SASsample>
+    <SASinstrument>
+      <name>LOQ</name>
+      <SASsource>
+        <radiation>neutron</radiation>
+      </SASsource>
+      <SAScollimation/>
+      <SASdetector>
+        <name>HAB</name>
+        <SDD unit="mm">575.0</SDD>
+      </SASdetector>
+      <SASdetector>
+        <name>main-detector-bank</name>
+        <SDD unit="mm">4145.02</SDD>
+      </SASdetector>
+    </SASinstrument>
+    <SASprocess>
+      <name>Mantid generated CanSAS1D XML</name>
+      <date>02-Aug-2013 16:54:14</date>
+      <description></description>
+      <term unit="" name="svn">2.5.3</term>
+      <term unit="" name="user_file">K:/masks/MASKLOQ_MAN_132E_Lu_Banjo_12mm.txt</term>
+      <SASprocessnote></SASprocessnote>
+    </SASprocess>
+    <SASnote></SASnote>
+  </SASentry>
+</SASroot>
Index: test/sasdataloader/test/isis_1_1_write_test.xml
===================================================================
--- test/sasdataloader/test/isis_1_1_write_test.xml	(revision b699768550de9d4b35b087234ec1d2a461922bab)
+++ test/sasdataloader/test/isis_1_1_write_test.xml	(revision c155a16ca3fb1da7057f151c62510d780700b9e8)
@@ -0,0 +1,865 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<?xml-stylesheet type="text/xsl" href="cansas1d.xsl" ?>
+<SASroot xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="urn:cansas1d:1.1" version="1.1" xsi:schemaLocation="urn:cansas1d:1.1 http://www.cansas.org/formats/1.1/cansas1d.xsd">
+  <SASentry>
+    <Title>TK49 c10_SANS</Title>
+    <Run>79680</Run>
+    <SASdata>
+      <Idata>
+        <Q unit="Q | 1/A">0.009</Q>
+        <I unit="Intensity | 1/cm">85.3333</I>
+        <Idev unit="Intensity | 1/cm">0.852491</Idev>
+        <Qdev unit="Q | 1/A">0.0</Qdev>
+      </Idata>
+      <Idata>
+        <Q unit="Q | 1/A">0.011</Q>
+        <I unit="Intensity | 1/cm">72.5398</I>
+        <Idev unit="Intensity | 1/cm">0.639548</Idev>
+        <Qdev unit="Q | 1/A">0.0</Qdev>
+      </Idata>
+      <Idata>
+        <Q unit="Q | 1/A">0.013</Q>
+        <I unit="Intensity | 1/cm">63.3582</I>
+        <Idev unit="Intensity | 1/cm">0.494127</Idev>
+        <Qdev unit="Q | 1/A">0.0</Qdev>
+      </Idata>
+      <Idata>
+        <Q unit="Q | 1/A">0.015</Q>
+        <I unit="Intensity | 1/cm">57.0952</I>
+        <Idev unit="Intensity | 1/cm">0.414116</Idev>
+        <Qdev unit="Q | 1/A">0.0</Qdev>
+      </Idata>
+      <Idata>
+        <Q unit="Q | 1/A">0.017</Q>
+        <I unit="Intensity | 1/cm">51.0139</I>
+        <Idev unit="Intensity | 1/cm">0.35145</Idev>
+        <Qdev unit="Q | 1/A">0.0</Qdev>
+      </Idata>
+      <Idata>
+        <Q unit="Q | 1/A">0.019</Q>
+        <I unit="Intensity | 1/cm">46.4746</I>
+        <Idev unit="Intensity | 1/cm">0.308755</Idev>
+        <Qdev unit="Q | 1/A">0.0</Qdev>
+      </Idata>
+      <Idata>
+        <Q unit="Q | 1/A">0.021</Q>
+        <I unit="Intensity | 1/cm">41.7191</I>
+        <Idev unit="Intensity | 1/cm">0.271641</Idev>
+        <Qdev unit="Q | 1/A">0.0</Qdev>
+      </Idata>
+      <Idata>
+        <Q unit="Q | 1/A">0.023</Q>
+        <I unit="Intensity | 1/cm">37.4208</I>
+        <Idev unit="Intensity | 1/cm">0.244658</Idev>
+        <Qdev unit="Q | 1/A">0.0</Qdev>
+      </Idata>
+      <Idata>
+        <Q unit="Q | 1/A">0.025</Q>
+        <I unit="Intensity | 1/cm">33.7352</I>
+        <Idev unit="Intensity | 1/cm">0.219594</Idev>
+        <Qdev unit="Q | 1/A">0.0</Qdev>
+      </Idata>
+      <Idata>
+        <Q unit="Q | 1/A">0.027</Q>
+        <I unit="Intensity | 1/cm">30.6073</I>
+        <Idev unit="Intensity | 1/cm">0.203138</Idev>
+        <Qdev unit="Q | 1/A">0.0</Qdev>
+      </Idata>
+      <Idata>
+        <Q unit="Q | 1/A">0.029</Q>
+        <I unit="Intensity | 1/cm">27.7309</I>
+        <Idev unit="Intensity | 1/cm">0.185859</Idev>
+        <Qdev unit="Q | 1/A">0.0</Qdev>
+      </Idata>
+      <Idata>
+        <Q unit="Q | 1/A">0.031</Q>
+        <I unit="Intensity | 1/cm">25.2579</I>
+        <Idev unit="Intensity | 1/cm">0.171356</Idev>
+        <Qdev unit="Q | 1/A">0.0</Qdev>
+      </Idata>
+      <Idata>
+        <Q unit="Q | 1/A">0.033</Q>
+        <I unit="Intensity | 1/cm">22.7712</I>
+        <Idev unit="Intensity | 1/cm">0.159062</Idev>
+        <Qdev unit="Q | 1/A">0.0</Qdev>
+      </Idata>
+      <Idata>
+        <Q unit="Q | 1/A">0.035</Q>
+        <I unit="Intensity | 1/cm">20.5323</I>
+        <Idev unit="Intensity | 1/cm">0.146135</Idev>
+        <Qdev unit="Q | 1/A">0.0</Qdev>
+      </Idata>
+      <Idata>
+        <Q unit="Q | 1/A">0.037</Q>
+        <I unit="Intensity | 1/cm">19.0744</I>
+        <Idev unit="Intensity | 1/cm">0.136393</Idev>
+        <Qdev unit="Q | 1/A">0.0</Qdev>
+      </Idata>
+      <Idata>
+        <Q unit="Q | 1/A">0.039</Q>
+        <I unit="Intensity | 1/cm">17.2832</I>
+        <Idev unit="Intensity | 1/cm">0.127623</Idev>
+        <Qdev unit="Q | 1/A">0.0</Qdev>
+      </Idata>
+      <Idata>
+        <Q unit="Q | 1/A">0.041</Q>
+        <I unit="Intensity | 1/cm">15.7399</I>
+        <Idev unit="Intensity | 1/cm">0.118288</Idev>
+        <Qdev unit="Q | 1/A">0.0</Qdev>
+      </Idata>
+      <Idata>
+        <Q unit="Q | 1/A">0.043</Q>
+        <I unit="Intensity | 1/cm">14.5598</I>
+        <Idev unit="Intensity | 1/cm">0.111759</Idev>
+        <Qdev unit="Q | 1/A">0.0</Qdev>
+      </Idata>
+      <Idata>
+        <Q unit="Q | 1/A">0.045</Q>
+        <I unit="Intensity | 1/cm">13.5906</I>
+        <Idev unit="Intensity | 1/cm">0.105148</Idev>
+        <Qdev unit="Q | 1/A">0.0</Qdev>
+      </Idata>
+      <Idata>
+        <Q unit="Q | 1/A">0.047</Q>
+        <I unit="Intensity | 1/cm">12.6707</I>
+        <Idev unit="Intensity | 1/cm">0.0996579</Idev>
+        <Qdev unit="Q | 1/A">0.0</Qdev>
+      </Idata>
+      <Idata>
+        <Q unit="Q | 1/A">0.049</Q>
+        <I unit="Intensity | 1/cm">11.5247</I>
+        <Idev unit="Intensity | 1/cm">0.0929646</Idev>
+        <Qdev unit="Q | 1/A">0.0</Qdev>
+      </Idata>
+      <Idata>
+        <Q unit="Q | 1/A">0.051</Q>
+        <I unit="Intensity | 1/cm">10.7089</I>
+        <Idev unit="Intensity | 1/cm">0.0888575</Idev>
+        <Qdev unit="Q | 1/A">0.0</Qdev>
+      </Idata>
+      <Idata>
+        <Q unit="Q | 1/A">0.053</Q>
+        <I unit="Intensity | 1/cm">10.1436</I>
+        <Idev unit="Intensity | 1/cm">0.0849394</Idev>
+        <Qdev unit="Q | 1/A">0.0</Qdev>
+      </Idata>
+      <Idata>
+        <Q unit="Q | 1/A">0.055</Q>
+        <I unit="Intensity | 1/cm">9.49446</I>
+        <Idev unit="Intensity | 1/cm">0.0811205</Idev>
+        <Qdev unit="Q | 1/A">0.0</Qdev>
+      </Idata>
+      <Idata>
+        <Q unit="Q | 1/A">0.057</Q>
+        <I unit="Intensity | 1/cm">8.80775</I>
+        <Idev unit="Intensity | 1/cm">0.0773967</Idev>
+        <Qdev unit="Q | 1/A">0.0</Qdev>
+      </Idata>
+      <Idata>
+        <Q unit="Q | 1/A">0.059</Q>
+        <I unit="Intensity | 1/cm">8.33366</I>
+        <Idev unit="Intensity | 1/cm">0.0748147</Idev>
+        <Qdev unit="Q | 1/A">0.0</Qdev>
+      </Idata>
+      <Idata>
+        <Q unit="Q | 1/A">0.061</Q>
+        <I unit="Intensity | 1/cm">7.79157</I>
+        <Idev unit="Intensity | 1/cm">0.0720107</Idev>
+        <Qdev unit="Q | 1/A">0.0</Qdev>
+      </Idata>
+      <Idata>
+        <Q unit="Q | 1/A">0.063</Q>
+        <I unit="Intensity | 1/cm">7.25902</I>
+        <Idev unit="Intensity | 1/cm">0.0693582</Idev>
+        <Qdev unit="Q | 1/A">0.0</Qdev>
+      </Idata>
+      <Idata>
+        <Q unit="Q | 1/A">0.065</Q>
+        <I unit="Intensity | 1/cm">7.04789</I>
+        <Idev unit="Intensity | 1/cm">0.0677591</Idev>
+        <Qdev unit="Q | 1/A">0.0</Qdev>
+      </Idata>
+      <Idata>
+        <Q unit="Q | 1/A">0.067</Q>
+        <I unit="Intensity | 1/cm">6.53311</I>
+        <Idev unit="Intensity | 1/cm">0.0652207</Idev>
+        <Qdev unit="Q | 1/A">0.0</Qdev>
+      </Idata>
+      <Idata>
+        <Q unit="Q | 1/A">0.069</Q>
+        <I unit="Intensity | 1/cm">6.2453</I>
+        <Idev unit="Intensity | 1/cm">0.0642016</Idev>
+        <Qdev unit="Q | 1/A">0.0</Qdev>
+      </Idata>
+      <Idata>
+        <Q unit="Q | 1/A">0.071</Q>
+        <I unit="Intensity | 1/cm">5.94152</I>
+        <Idev unit="Intensity | 1/cm">0.0625768</Idev>
+        <Qdev unit="Q | 1/A">0.0</Qdev>
+      </Idata>
+      <Idata>
+        <Q unit="Q | 1/A">0.073</Q>
+        <I unit="Intensity | 1/cm">5.70816</I>
+        <Idev unit="Intensity | 1/cm">0.0612955</Idev>
+        <Qdev unit="Q | 1/A">0.0</Qdev>
+      </Idata>
+      <Idata>
+        <Q unit="Q | 1/A">0.075</Q>
+        <I unit="Intensity | 1/cm">5.24449</I>
+        <Idev unit="Intensity | 1/cm">0.060141</Idev>
+        <Qdev unit="Q | 1/A">0.0</Qdev>
+      </Idata>
+      <Idata>
+        <Q unit="Q | 1/A">0.077</Q>
+        <I unit="Intensity | 1/cm">5.08291</I>
+        <Idev unit="Intensity | 1/cm">0.0582239</Idev>
+        <Qdev unit="Q | 1/A">0.0</Qdev>
+      </Idata>
+      <Idata>
+        <Q unit="Q | 1/A">0.079</Q>
+        <I unit="Intensity | 1/cm">4.88135</I>
+        <Idev unit="Intensity | 1/cm">0.057969</Idev>
+        <Qdev unit="Q | 1/A">0.0</Qdev>
+      </Idata>
+      <Idata>
+        <Q unit="Q | 1/A">0.081</Q>
+        <I unit="Intensity | 1/cm">4.60942</I>
+        <Idev unit="Intensity | 1/cm">0.056813</Idev>
+        <Qdev unit="Q | 1/A">0.0</Qdev>
+      </Idata>
+      <Idata>
+        <Q unit="Q | 1/A">0.083</Q>
+        <I unit="Intensity | 1/cm">4.46606</I>
+        <Idev unit="Intensity | 1/cm">0.0569381</Idev>
+        <Qdev unit="Q | 1/A">0.0</Qdev>
+      </Idata>
+      <Idata>
+        <Q unit="Q | 1/A">0.085</Q>
+        <I unit="Intensity | 1/cm">4.32473</I>
+        <Idev unit="Intensity | 1/cm">0.0558766</Idev>
+        <Qdev unit="Q | 1/A">0.0</Qdev>
+      </Idata>
+      <Idata>
+        <Q unit="Q | 1/A">0.087</Q>
+        <I unit="Intensity | 1/cm">4.14144</I>
+        <Idev unit="Intensity | 1/cm">0.0552525</Idev>
+        <Qdev unit="Q | 1/A">0.0</Qdev>
+      </Idata>
+      <Idata>
+        <Q unit="Q | 1/A">0.089</Q>
+        <I unit="Intensity | 1/cm">3.86504</I>
+        <Idev unit="Intensity | 1/cm">0.0544569</Idev>
+        <Qdev unit="Q | 1/A">0.0</Qdev>
+      </Idata>
+      <Idata>
+        <Q unit="Q | 1/A">0.091</Q>
+        <I unit="Intensity | 1/cm">3.74272</I>
+        <Idev unit="Intensity | 1/cm">0.0529596</Idev>
+        <Qdev unit="Q | 1/A">0.0</Qdev>
+      </Idata>
+      <Idata>
+        <Q unit="Q | 1/A">0.093</Q>
+        <I unit="Intensity | 1/cm">3.68281</I>
+        <Idev unit="Intensity | 1/cm">0.052891</Idev>
+        <Qdev unit="Q | 1/A">0.0</Qdev>
+      </Idata>
+      <Idata>
+        <Q unit="Q | 1/A">0.095</Q>
+        <I unit="Intensity | 1/cm">3.46991</I>
+        <Idev unit="Intensity | 1/cm">0.0517565</Idev>
+        <Qdev unit="Q | 1/A">0.0</Qdev>
+      </Idata>
+      <Idata>
+        <Q unit="Q | 1/A">0.097</Q>
+        <I unit="Intensity | 1/cm">3.37244</I>
+        <Idev unit="Intensity | 1/cm">0.0509328</Idev>
+        <Qdev unit="Q | 1/A">0.0</Qdev>
+      </Idata>
+      <Idata>
+        <Q unit="Q | 1/A">0.099</Q>
+        <I unit="Intensity | 1/cm">3.27074</I>
+        <Idev unit="Intensity | 1/cm">0.0505183</Idev>
+        <Qdev unit="Q | 1/A">0.0</Qdev>
+      </Idata>
+      <Idata>
+        <Q unit="Q | 1/A">0.101</Q>
+        <I unit="Intensity | 1/cm">3.13326</I>
+        <Idev unit="Intensity | 1/cm">0.0490847</Idev>
+        <Qdev unit="Q | 1/A">0.0</Qdev>
+      </Idata>
+      <Idata>
+        <Q unit="Q | 1/A">0.103</Q>
+        <I unit="Intensity | 1/cm">3.01387</I>
+        <Idev unit="Intensity | 1/cm">0.0487012</Idev>
+        <Qdev unit="Q | 1/A">0.0</Qdev>
+      </Idata>
+      <Idata>
+        <Q unit="Q | 1/A">0.105</Q>
+        <I unit="Intensity | 1/cm">2.87628</I>
+        <Idev unit="Intensity | 1/cm">0.0484307</Idev>
+        <Qdev unit="Q | 1/A">0.0</Qdev>
+      </Idata>
+      <Idata>
+        <Q unit="Q | 1/A">0.107</Q>
+        <I unit="Intensity | 1/cm">2.85043</I>
+        <Idev unit="Intensity | 1/cm">0.0476786</Idev>
+        <Qdev unit="Q | 1/A">0.0</Qdev>
+      </Idata>
+      <Idata>
+        <Q unit="Q | 1/A">0.109</Q>
+        <I unit="Intensity | 1/cm">2.72799</I>
+        <Idev unit="Intensity | 1/cm">0.0475526</Idev>
+        <Qdev unit="Q | 1/A">0.0</Qdev>
+      </Idata>
+      <Idata>
+        <Q unit="Q | 1/A">0.111</Q>
+        <I unit="Intensity | 1/cm">2.61206</I>
+        <Idev unit="Intensity | 1/cm">0.0467475</Idev>
+        <Qdev unit="Q | 1/A">0.0</Qdev>
+      </Idata>
+      <Idata>
+        <Q unit="Q | 1/A">0.113</Q>
+        <I unit="Intensity | 1/cm">2.58895</I>
+        <Idev unit="Intensity | 1/cm">0.0469767</Idev>
+        <Qdev unit="Q | 1/A">0.0</Qdev>
+      </Idata>
+      <Idata>
+        <Q unit="Q | 1/A">0.115</Q>
+        <I unit="Intensity | 1/cm">2.45987</I>
+        <Idev unit="Intensity | 1/cm">0.0460139</Idev>
+        <Qdev unit="Q | 1/A">0.0</Qdev>
+      </Idata>
+      <Idata>
+        <Q unit="Q | 1/A">0.117</Q>
+        <I unit="Intensity | 1/cm">2.37723</I>
+        <Idev unit="Intensity | 1/cm">0.045272</Idev>
+        <Qdev unit="Q | 1/A">0.0</Qdev>
+      </Idata>
+      <Idata>
+        <Q unit="Q | 1/A">0.119</Q>
+        <I unit="Intensity | 1/cm">2.34122</I>
+        <Idev unit="Intensity | 1/cm">0.0453741</Idev>
+        <Qdev unit="Q | 1/A">0.0</Qdev>
+      </Idata>
+      <Idata>
+        <Q unit="Q | 1/A">0.121</Q>
+        <I unit="Intensity | 1/cm">2.21745</I>
+        <Idev unit="Intensity | 1/cm">0.0444485</Idev>
+        <Qdev unit="Q | 1/A">0.0</Qdev>
+      </Idata>
+      <Idata>
+        <Q unit="Q | 1/A">0.123</Q>
+        <I unit="Intensity | 1/cm">2.12646</I>
+        <Idev unit="Intensity | 1/cm">0.0438385</Idev>
+        <Qdev unit="Q | 1/A">0.0</Qdev>
+      </Idata>
+      <Idata>
+        <Q unit="Q | 1/A">0.125</Q>
+        <I unit="Intensity | 1/cm">2.11264</I>
+        <Idev unit="Intensity | 1/cm">0.0441662</Idev>
+        <Qdev unit="Q | 1/A">0.0</Qdev>
+      </Idata>
+      <Idata>
+        <Q unit="Q | 1/A">0.127</Q>
+        <I unit="Intensity | 1/cm">2.07523</I>
+        <Idev unit="Intensity | 1/cm">0.0438979</Idev>
+        <Qdev unit="Q | 1/A">0.0</Qdev>
+      </Idata>
+      <Idata>
+        <Q unit="Q | 1/A">0.129</Q>
+        <I unit="Intensity | 1/cm">2.03548</I>
+        <Idev unit="Intensity | 1/cm">0.0442422</Idev>
+        <Qdev unit="Q | 1/A">0.0</Qdev>
+      </Idata>
+      <Idata>
+        <Q unit="Q | 1/A">0.131</Q>
+        <I unit="Intensity | 1/cm">1.92452</I>
+        <Idev unit="Intensity | 1/cm">0.0435959</Idev>
+        <Qdev unit="Q | 1/A">0.0</Qdev>
+      </Idata>
+      <Idata>
+        <Q unit="Q | 1/A">0.133</Q>
+        <I unit="Intensity | 1/cm">1.90866</I>
+        <Idev unit="Intensity | 1/cm">0.0437401</Idev>
+        <Qdev unit="Q | 1/A">0.0</Qdev>
+      </Idata>
+      <Idata>
+        <Q unit="Q | 1/A">0.135</Q>
+        <I unit="Intensity | 1/cm">1.91252</I>
+        <Idev unit="Intensity | 1/cm">0.0443163</Idev>
+        <Qdev unit="Q | 1/A">0.0</Qdev>
+      </Idata>
+      <Idata>
+        <Q unit="Q | 1/A">0.137</Q>
+        <I unit="Intensity | 1/cm">1.80405</I>
+        <Idev unit="Intensity | 1/cm">0.043466</Idev>
+        <Qdev unit="Q | 1/A">0.0</Qdev>
+      </Idata>
+      <Idata>
+        <Q unit="Q | 1/A">0.139</Q>
+        <I unit="Intensity | 1/cm">1.72166</I>
+        <Idev unit="Intensity | 1/cm">0.0429246</Idev>
+        <Qdev unit="Q | 1/A">0.0</Qdev>
+      </Idata>
+      <Idata>
+        <Q unit="Q | 1/A">0.141</Q>
+        <I unit="Intensity | 1/cm">1.67199</I>
+        <Idev unit="Intensity | 1/cm">0.042469</Idev>
+        <Qdev unit="Q | 1/A">0.0</Qdev>
+      </Idata>
+      <Idata>
+        <Q unit="Q | 1/A">0.143</Q>
+        <I unit="Intensity | 1/cm">1.63282</I>
+        <Idev unit="Intensity | 1/cm">0.0430074</Idev>
+        <Qdev unit="Q | 1/A">0.0</Qdev>
+      </Idata>
+      <Idata>
+        <Q unit="Q | 1/A">0.145</Q>
+        <I unit="Intensity | 1/cm">1.63712</I>
+        <Idev unit="Intensity | 1/cm">0.0438557</Idev>
+        <Qdev unit="Q | 1/A">0.0</Qdev>
+      </Idata>
+      <Idata>
+        <Q unit="Q | 1/A">0.147</Q>
+        <I unit="Intensity | 1/cm">1.5862</I>
+        <Idev unit="Intensity | 1/cm">0.0434135</Idev>
+        <Qdev unit="Q | 1/A">0.0</Qdev>
+      </Idata>
+      <Idata>
+        <Q unit="Q | 1/A">0.149</Q>
+        <I unit="Intensity | 1/cm">1.56121</I>
+        <Idev unit="Intensity | 1/cm">0.0432591</Idev>
+        <Qdev unit="Q | 1/A">0.0</Qdev>
+      </Idata>
+      <Idata>
+        <Q unit="Q | 1/A">0.151</Q>
+        <I unit="Intensity | 1/cm">1.49764</I>
+        <Idev unit="Intensity | 1/cm">0.0426577</Idev>
+        <Qdev unit="Q | 1/A">0.0</Qdev>
+      </Idata>
+      <Idata>
+        <Q unit="Q | 1/A">0.153</Q>
+        <I unit="Intensity | 1/cm">1.53828</I>
+        <Idev unit="Intensity | 1/cm">0.0446481</Idev>
+        <Qdev unit="Q | 1/A">0.0</Qdev>
+      </Idata>
+      <Idata>
+        <Q unit="Q | 1/A">0.155</Q>
+        <I unit="Intensity | 1/cm">1.47366</I>
+        <Idev unit="Intensity | 1/cm">0.0441973</Idev>
+        <Qdev unit="Q | 1/A">0.0</Qdev>
+      </Idata>
+      <Idata>
+        <Q unit="Q | 1/A">0.157</Q>
+        <I unit="Intensity | 1/cm">1.40582</I>
+        <Idev unit="Intensity | 1/cm">0.0430461</Idev>
+        <Qdev unit="Q | 1/A">0.0</Qdev>
+      </Idata>
+      <Idata>
+        <Q unit="Q | 1/A">0.159</Q>
+        <I unit="Intensity | 1/cm">1.40491</I>
+        <Idev unit="Intensity | 1/cm">0.0439883</Idev>
+        <Qdev unit="Q | 1/A">0.0</Qdev>
+      </Idata>
+      <Idata>
+        <Q unit="Q | 1/A">0.161</Q>
+        <I unit="Intensity | 1/cm">1.34639</I>
+        <Idev unit="Intensity | 1/cm">0.044193</Idev>
+        <Qdev unit="Q | 1/A">0.0</Qdev>
+      </Idata>
+      <Idata>
+        <Q unit="Q | 1/A">0.163</Q>
+        <I unit="Intensity | 1/cm">1.32238</I>
+        <Idev unit="Intensity | 1/cm">0.0438008</Idev>
+        <Qdev unit="Q | 1/A">0.0</Qdev>
+      </Idata>
+      <Idata>
+        <Q unit="Q | 1/A">0.165</Q>
+        <I unit="Intensity | 1/cm">1.33885</I>
+        <Idev unit="Intensity | 1/cm">0.0445383</Idev>
+        <Qdev unit="Q | 1/A">0.0</Qdev>
+      </Idata>
+      <Idata>
+        <Q unit="Q | 1/A">0.167</Q>
+        <I unit="Intensity | 1/cm">1.29608</I>
+        <Idev unit="Intensity | 1/cm">0.0451575</Idev>
+        <Qdev unit="Q | 1/A">0.0</Qdev>
+      </Idata>
+      <Idata>
+        <Q unit="Q | 1/A">0.169</Q>
+        <I unit="Intensity | 1/cm">1.30562</I>
+        <Idev unit="Intensity | 1/cm">0.0460656</Idev>
+        <Qdev unit="Q | 1/A">0.0</Qdev>
+      </Idata>
+      <Idata>
+        <Q unit="Q | 1/A">0.171</Q>
+        <I unit="Intensity | 1/cm">1.17147</I>
+        <Idev unit="Intensity | 1/cm">0.0435717</Idev>
+        <Qdev unit="Q | 1/A">0.0</Qdev>
+      </Idata>
+      <Idata>
+        <Q unit="Q | 1/A">0.173</Q>
+        <I unit="Intensity | 1/cm">1.18565</I>
+        <Idev unit="Intensity | 1/cm">0.0449072</Idev>
+        <Qdev unit="Q | 1/A">0.0</Qdev>
+      </Idata>
+      <Idata>
+        <Q unit="Q | 1/A">0.175</Q>
+        <I unit="Intensity | 1/cm">1.18944</I>
+        <Idev unit="Intensity | 1/cm">0.0465319</Idev>
+        <Qdev unit="Q | 1/A">0.0</Qdev>
+      </Idata>
+      <Idata>
+        <Q unit="Q | 1/A">0.177</Q>
+        <I unit="Intensity | 1/cm">1.17055</I>
+        <Idev unit="Intensity | 1/cm">0.0456562</Idev>
+        <Qdev unit="Q | 1/A">0.0</Qdev>
+      </Idata>
+      <Idata>
+        <Q unit="Q | 1/A">0.179</Q>
+        <I unit="Intensity | 1/cm">1.08571</I>
+        <Idev unit="Intensity | 1/cm">0.0453852</Idev>
+        <Qdev unit="Q | 1/A">0.0</Qdev>
+      </Idata>
+      <Idata>
+        <Q unit="Q | 1/A">0.181</Q>
+        <I unit="Intensity | 1/cm">1.06208</I>
+        <Idev unit="Intensity | 1/cm">0.0463335</Idev>
+        <Qdev unit="Q | 1/A">0.0</Qdev>
+      </Idata>
+      <Idata>
+        <Q unit="Q | 1/A">0.183</Q>
+        <I unit="Intensity | 1/cm">1.06187</I>
+        <Idev unit="Intensity | 1/cm">0.0458284</Idev>
+        <Qdev unit="Q | 1/A">0.0</Qdev>
+      </Idata>
+      <Idata>
+        <Q unit="Q | 1/A">0.185</Q>
+        <I unit="Intensity | 1/cm">1.02727</I>
+        <Idev unit="Intensity | 1/cm">0.0472613</Idev>
+        <Qdev unit="Q | 1/A">0.0</Qdev>
+      </Idata>
+      <Idata>
+        <Q unit="Q | 1/A">0.187</Q>
+        <I unit="Intensity | 1/cm">0.995169</I>
+        <Idev unit="Intensity | 1/cm">0.0465526</Idev>
+        <Qdev unit="Q | 1/A">0.0</Qdev>
+      </Idata>
+      <Idata>
+        <Q unit="Q | 1/A">0.189</Q>
+        <I unit="Intensity | 1/cm">1.02569</I>
+        <Idev unit="Intensity | 1/cm">0.0483728</Idev>
+        <Qdev unit="Q | 1/A">0.0</Qdev>
+      </Idata>
+      <Idata>
+        <Q unit="Q | 1/A">0.191</Q>
+        <I unit="Intensity | 1/cm">0.981154</I>
+        <Idev unit="Intensity | 1/cm">0.0490559</Idev>
+        <Qdev unit="Q | 1/A">0.0</Qdev>
+      </Idata>
+      <Idata>
+        <Q unit="Q | 1/A">0.193</Q>
+        <I unit="Intensity | 1/cm">1.01831</I>
+        <Idev unit="Intensity | 1/cm">0.0502348</Idev>
+        <Qdev unit="Q | 1/A">0.0</Qdev>
+      </Idata>
+      <Idata>
+        <Q unit="Q | 1/A">0.195</Q>
+        <I unit="Intensity | 1/cm">0.968102</I>
+        <Idev unit="Intensity | 1/cm">0.0504426</Idev>
+        <Qdev unit="Q | 1/A">0.0</Qdev>
+      </Idata>
+      <Idata>
+        <Q unit="Q | 1/A">0.197</Q>
+        <I unit="Intensity | 1/cm">0.940656</I>
+        <Idev unit="Intensity | 1/cm">0.0512734</Idev>
+        <Qdev unit="Q | 1/A">0.0</Qdev>
+      </Idata>
+      <Idata>
+        <Q unit="Q | 1/A">0.199</Q>
+        <I unit="Intensity | 1/cm">1.05762</I>
+        <Idev unit="Intensity | 1/cm">0.0547469</Idev>
+        <Qdev unit="Q | 1/A">0.0</Qdev>
+      </Idata>
+      <Idata>
+        <Q unit="Q | 1/A">0.201</Q>
+        <I unit="Intensity | 1/cm">0.949872</I>
+        <Idev unit="Intensity | 1/cm">0.055229</Idev>
+        <Qdev unit="Q | 1/A">0.0</Qdev>
+      </Idata>
+      <Idata>
+        <Q unit="Q | 1/A">0.203</Q>
+        <I unit="Intensity | 1/cm">0.891716</I>
+        <Idev unit="Intensity | 1/cm">0.0531346</Idev>
+        <Qdev unit="Q | 1/A">0.0</Qdev>
+      </Idata>
+      <Idata>
+        <Q unit="Q | 1/A">0.205</Q>
+        <I unit="Intensity | 1/cm">0.876084</I>
+        <Idev unit="Intensity | 1/cm">0.0548681</Idev>
+        <Qdev unit="Q | 1/A">0.0</Qdev>
+      </Idata>
+      <Idata>
+        <Q unit="Q | 1/A">0.207</Q>
+        <I unit="Intensity | 1/cm">0.932101</I>
+        <Idev unit="Intensity | 1/cm">0.0576812</Idev>
+        <Qdev unit="Q | 1/A">0.0</Qdev>
+      </Idata>
+      <Idata>
+        <Q unit="Q | 1/A">0.209</Q>
+        <I unit="Intensity | 1/cm">0.927755</I>
+        <Idev unit="Intensity | 1/cm">0.0593404</Idev>
+        <Qdev unit="Q | 1/A">0.0</Qdev>
+      </Idata>
+      <Idata>
+        <Q unit="Q | 1/A">0.211</Q>
+        <I unit="Intensity | 1/cm">0.87669</I>
+        <Idev unit="Intensity | 1/cm">0.0600369</Idev>
+        <Qdev unit="Q | 1/A">0.0</Qdev>
+      </Idata>
+      <Idata>
+        <Q unit="Q | 1/A">0.213</Q>
+        <I unit="Intensity | 1/cm">0.809125</I>
+        <Idev unit="Intensity | 1/cm">0.0588107</Idev>
+        <Qdev unit="Q | 1/A">0.0</Qdev>
+      </Idata>
+      <Idata>
+        <Q unit="Q | 1/A">0.215</Q>
+        <I unit="Intensity | 1/cm">0.941202</I>
+        <Idev unit="Intensity | 1/cm">0.0659121</Idev>
+        <Qdev unit="Q | 1/A">0.0</Qdev>
+      </Idata>
+      <Idata>
+        <Q unit="Q | 1/A">0.217</Q>
+        <I unit="Intensity | 1/cm">0.946175</I>
+        <Idev unit="Intensity | 1/cm">0.0690784</Idev>
+        <Qdev unit="Q | 1/A">0.0</Qdev>
+      </Idata>
+      <Idata>
+        <Q unit="Q | 1/A">0.219</Q>
+        <I unit="Intensity | 1/cm">0.859875</I>
+        <Idev unit="Intensity | 1/cm">0.0674435</Idev>
+        <Qdev unit="Q | 1/A">0.0</Qdev>
+      </Idata>
+      <Idata>
+        <Q unit="Q | 1/A">0.221</Q>
+        <I unit="Intensity | 1/cm">0.959508</I>
+        <Idev unit="Intensity | 1/cm">0.0718856</Idev>
+        <Qdev unit="Q | 1/A">0.0</Qdev>
+      </Idata>
+      <Idata>
+        <Q unit="Q | 1/A">0.223</Q>
+        <I unit="Intensity | 1/cm">0.763222</I>
+        <Idev unit="Intensity | 1/cm">0.0702866</Idev>
+        <Qdev unit="Q | 1/A">0.0</Qdev>
+      </Idata>
+      <Idata>
+        <Q unit="Q | 1/A">0.225</Q>
+        <I unit="Intensity | 1/cm">0.785467</I>
+        <Idev unit="Intensity | 1/cm">0.0742144</Idev>
+        <Qdev unit="Q | 1/A">0.0</Qdev>
+      </Idata>
+      <Idata>
+        <Q unit="Q | 1/A">0.227</Q>
+        <I unit="Intensity | 1/cm">0.81876</I>
+        <Idev unit="Intensity | 1/cm">0.074266</Idev>
+        <Qdev unit="Q | 1/A">0.0</Qdev>
+      </Idata>
+      <Idata>
+        <Q unit="Q | 1/A">0.229</Q>
+        <I unit="Intensity | 1/cm">0.678311</I>
+        <Idev unit="Intensity | 1/cm">0.0722578</Idev>
+        <Qdev unit="Q | 1/A">0.0</Qdev>
+      </Idata>
+      <Idata>
+        <Q unit="Q | 1/A">0.231</Q>
+        <I unit="Intensity | 1/cm">0.761442</I>
+        <Idev unit="Intensity | 1/cm">0.0814516</Idev>
+        <Qdev unit="Q | 1/A">0.0</Qdev>
+      </Idata>
+      <Idata>
+        <Q unit="Q | 1/A">0.233</Q>
+        <I unit="Intensity | 1/cm">0.757076</I>
+        <Idev unit="Intensity | 1/cm">0.0825262</Idev>
+        <Qdev unit="Q | 1/A">0.0</Qdev>
+      </Idata>
+      <Idata>
+        <Q unit="Q | 1/A">0.235</Q>
+        <I unit="Intensity | 1/cm">0.600636</I>
+        <Idev unit="Intensity | 1/cm">0.075041</Idev>
+        <Qdev unit="Q | 1/A">0.0</Qdev>
+      </Idata>
+      <Idata>
+        <Q unit="Q | 1/A">0.237</Q>
+        <I unit="Intensity | 1/cm">0.685635</I>
+        <Idev unit="Intensity | 1/cm">0.0842392</Idev>
+        <Qdev unit="Q | 1/A">0.0</Qdev>
+      </Idata>
+      <Idata>
+        <Q unit="Q | 1/A">0.239</Q>
+        <I unit="Intensity | 1/cm">0.799186</I>
+        <Idev unit="Intensity | 1/cm">0.0974365</Idev>
+        <Qdev unit="Q | 1/A">0.0</Qdev>
+      </Idata>
+      <Idata>
+        <Q unit="Q | 1/A">0.241</Q>
+        <I unit="Intensity | 1/cm">0.737526</I>
+        <Idev unit="Intensity | 1/cm">0.0957286</Idev>
+        <Qdev unit="Q | 1/A">0.0</Qdev>
+      </Idata>
+      <Idata>
+        <Q unit="Q | 1/A">0.243</Q>
+        <I unit="Intensity | 1/cm">0.716415</I>
+        <Idev unit="Intensity | 1/cm">0.0970448</Idev>
+        <Qdev unit="Q | 1/A">0.0</Qdev>
+      </Idata>
+      <Idata>
+        <Q unit="Q | 1/A">0.245</Q>
+        <I unit="Intensity | 1/cm">0.720413</I>
+        <Idev unit="Intensity | 1/cm">0.0981996</Idev>
+        <Qdev unit="Q | 1/A">0.0</Qdev>
+      </Idata>
+      <Idata>
+        <Q unit="Q | 1/A">0.247</Q>
+        <I unit="Intensity | 1/cm">0.604059</I>
+        <Idev unit="Intensity | 1/cm">0.100869</Idev>
+        <Qdev unit="Q | 1/A">0.0</Qdev>
+      </Idata>
+      <Idata>
+        <Q unit="Q | 1/A">0.249</Q>
+        <I unit="Intensity | 1/cm">0.649073</I>
+        <Idev unit="Intensity | 1/cm">0.109281</Idev>
+        <Qdev unit="Q | 1/A">0.0</Qdev>
+      </Idata>
+      <Idata>
+        <Q unit="Q | 1/A">0.251</Q>
+        <I unit="Intensity | 1/cm">0.700691</I>
+        <Idev unit="Intensity | 1/cm">0.114325</Idev>
+        <Qdev unit="Q | 1/A">0.0</Qdev>
+      </Idata>
+      <Idata>
+        <Q unit="Q | 1/A">0.253</Q>
+        <I unit="Intensity | 1/cm">0.586789</I>
+        <Idev unit="Intensity | 1/cm">0.108324</Idev>
+        <Qdev unit="Q | 1/A">0.0</Qdev>
+      </Idata>
+      <Idata>
+        <Q unit="Q | 1/A">0.255</Q>
+        <I unit="Intensity | 1/cm">0.765838</I>
+        <Idev unit="Intensity | 1/cm">0.139579</Idev>
+        <Qdev unit="Q | 1/A">0.0</Qdev>
+      </Idata>
+      <Idata>
+        <Q unit="Q | 1/A">0.257</Q>
+        <I unit="Intensity | 1/cm">0.828968</I>
+        <Idev unit="Intensity | 1/cm">0.156723</Idev>
+        <Qdev unit="Q | 1/A">0.0</Qdev>
+      </Idata>
+      <Idata>
+        <Q unit="Q | 1/A">0.259</Q>
+        <I unit="Intensity | 1/cm">0.616499</I>
+        <Idev unit="Intensity | 1/cm">0.137866</Idev>
+        <Qdev unit="Q | 1/A">0.0</Qdev>
+      </Idata>
+      <Idata>
+        <Q unit="Q | 1/A">0.261</Q>
+        <I unit="Intensity | 1/cm">0.526011</I>
+        <Idev unit="Intensity | 1/cm">0.126209</Idev>
+        <Qdev unit="Q | 1/A">0.0</Qdev>
+      </Idata>
+      <Idata>
+        <Q unit="Q | 1/A">0.263</Q>
+        <I unit="Intensity | 1/cm">0.51277</I>
+        <Idev unit="Intensity | 1/cm">0.126339</Idev>
+        <Qdev unit="Q | 1/A">0.0</Qdev>
+      </Idata>
+      <Idata>
+        <Q unit="Q | 1/A">0.265</Q>
+        <I unit="Intensity | 1/cm">0.604189</I>
+        <Idev unit="Intensity | 1/cm">0.166393</Idev>
+        <Qdev unit="Q | 1/A">0.0</Qdev>
+      </Idata>
+      <Idata>
+        <Q unit="Q | 1/A">0.267</Q>
+        <I unit="Intensity | 1/cm">0.738765</I>
+        <Idev unit="Intensity | 1/cm">0.194006</Idev>
+        <Qdev unit="Q | 1/A">0.0</Qdev>
+      </Idata>
+      <Idata>
+        <Q unit="Q | 1/A">0.269</Q>
+        <I unit="Intensity | 1/cm">0.462803</I>
+        <Idev unit="Intensity | 1/cm">0.155354</Idev>
+        <Qdev unit="Q | 1/A">0.0</Qdev>
+      </Idata>
+      <Idata>
+        <Q unit="Q | 1/A">0.271</Q>
+        <I unit="Intensity | 1/cm">0.478694</I>
+        <Idev unit="Intensity | 1/cm">0.171676</Idev>
+        <Qdev unit="Q | 1/A">0.0</Qdev>
+      </Idata>
+      <Idata>
+        <Q unit="Q | 1/A">0.273</Q>
+        <I unit="Intensity | 1/cm">0.711983</I>
+        <Idev unit="Intensity | 1/cm">0.255539</Idev>
+        <Qdev unit="Q | 1/A">0.0</Qdev>
+      </Idata>
+      <Idata>
+        <Q unit="Q | 1/A">0.275</Q>
+        <I unit="Intensity | 1/cm">0.473304</I>
+        <Idev unit="Intensity | 1/cm">0.230752</Idev>
+        <Qdev unit="Q | 1/A">0.0</Qdev>
+      </Idata>
+      <Idata>
+        <Q unit="Q | 1/A">0.277</Q>
+        <I unit="Intensity | 1/cm">0.536817</I>
+        <Idev unit="Intensity | 1/cm">0.262627</Idev>
+        <Qdev unit="Q | 1/A">0.0</Qdev>
+      </Idata>
+      <Idata>
+        <Q unit="Q | 1/A">0.279</Q>
+        <I unit="Intensity | 1/cm">0.660654</I>
+        <Idev unit="Intensity | 1/cm">0.297519</Idev>
+        <Qdev unit="Q | 1/A">0.0</Qdev>
+      </Idata>
+      <Idata>
+        <Q unit="Q | 1/A">0.281</Q>
+        <I unit="Intensity | 1/cm">0.408902</I>
+        <Idev unit="Intensity | 1/cm">0.24585</Idev>
+        <Qdev unit="Q | 1/A">0.0</Qdev>
+      </Idata>
+      <Idata>
+        <Q unit="Q | 1/A">0.283</Q>
+        <I unit="Intensity | 1/cm">0.0</I>
+        <Idev unit="Intensity | 1/cm">0.0</Idev>
+        <Qdev unit="Q | 1/A">0.0</Qdev>
+      </Idata>
+    </SASdata>
+    <SASsample name="">
+      <ID>TK49 c10_SANS</ID>
+    </SASsample>
+    <SASinstrument>
+      <name>LOQ</name>
+      <SASsource>
+        <radiation>neutron</radiation>
+      </SASsource>
+      <SAScollimation/>
+      <SASdetector>
+        <name>HAB</name>
+        <SDD unit="mm">575.0</SDD>
+      </SASdetector>
+      <SASdetector>
+        <name>main-detector-bank</name>
+        <SDD unit="mm">4145.02</SDD>
+      </SASdetector>
+    </SASinstrument>
+    <SASprocess>
+      <name>Mantid generated CanSAS1D XML</name>
+      <date>02-Aug-2013 16:53:56</date>
+      <description></description>
+      <term unit="" name="svn">2.5.3</term>
+      <term unit="" name="user_file">K:/masks/MASKLOQ_MAN_132E_Lu_Banjo_12mm.txt</term>
+      <SASprocessnote></SASprocessnote>
+    </SASprocess>
+    <SASnote></SASnote>
+  </SASentry>
+</SASroot>
Index: test/sasdataloader/test/testLoad.py
===================================================================
--- test/sasdataloader/test/testLoad.py	(revision b699768550de9d4b35b087234ec1d2a461922bab)
+++ test/sasdataloader/test/testLoad.py	(revision c155a16ca3fb1da7057f151c62510d780700b9e8)
@@ -4,11 +4,4 @@
     It is create in the folder where test is runned
 """
-import logging
-logging.basicConfig(level=logging.DEBUG,
-                    format='%(asctime)s %(levelname)s %(message)s',
-                    filename='test_log.txt',
-                    filemode='w')
-
-
 
 import unittest
@@ -16,4 +9,7 @@
 import sas.sascalc.dataloader
 from sas.sascalc.dataloader.loader import  Loader
+
+import logging
+logger = logging.getLogger()
 
 # Check whether we should test image loading on this system 
@@ -42,5 +38,5 @@
 
 class testLoader(unittest.TestCase):
-    logging.debug("Inside testLoad module")
+    logger.debug("Inside testLoad module")
     
     """ test fitting """
@@ -118,6 +114,6 @@
         try:self.L.load('AR07232_rest.ASC')
         except ValueError,msg:
-           #logging.log(10,str(msg))
-           logging.error(str(msg))
+           #logger.log(10,str(msg))
+           logger.error(str(msg))
 
     def testload3_lowercase(self):
@@ -133,6 +129,6 @@
         try:self.L.load('AR07232_rest.ASC')
         except ValueError,msg:
-           #logging.log(10,str(msg))
-           logging.error(str(msg))
+           #logger.log(10,str(msg))
+           logger.error(str(msg))
     def testload4(self):
         """ Testing loading danse file"""
@@ -145,6 +141,6 @@
         try: self.L.load('P_New.sans')
         except ValueError,msg:
-           #logging.log(40,str(msg))
-           logging.error(str(msg))
+           #logger.log(40,str(msg))
+           logger.error(str(msg))
         #else: raise ValueError,"No error raised for missing extension"
         
Index: test/sasdataloader/test/utest_cansas.py
===================================================================
--- test/sasdataloader/test/utest_cansas.py	(revision 1686a333c537addee2a00ed89b00c694826a8f17)
+++ test/sasdataloader/test/utest_cansas.py	(revision c155a16ca3fb1da7057f151c62510d780700b9e8)
@@ -21,4 +21,6 @@
 from lxml import etree
 from xml.dom import minidom
+
+logger = logging.getLogger()
 
 warnings.simplefilter("ignore")
@@ -57,5 +59,5 @@
     def test_invalid_xml(self):
         """
-        Should fail gracefully and send a message to logging.info()
+        Should fail gracefully and send a message to logger.info()
         """
         invalid = StringIO.StringIO('<a><c></b></a>')
Index: test/sasdataloader/test/write_test.xml
===================================================================
--- test/sasdataloader/test/write_test.xml	(revision b699768550de9d4b35b087234ec1d2a461922bab)
+++ test/sasdataloader/test/write_test.xml	(revision c155a16ca3fb1da7057f151c62510d780700b9e8)
@@ -0,0 +1,116 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<SASroot xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="cansas1d/1.0" version="1.0" xsi:schemaLocation="cansas1d/1.0 http://svn.smallangles.net/svn/canSAS/1dwg/trunk/cansas1d.xsd">
+  <SASentry>
+    <Title>Test title</Title>
+    <Run name="run name">1234</Run>
+    <SASdata>
+      <Idata>
+        <Q unit="Q | 1/A">0.02</Q>
+        <I unit="Intensity | 1/cm">1000.0</I>
+        <Idev unit="Intensity | 1/cm">3.0</Idev>
+        <Qdev unit="Q | 1/A">0.01</Qdev>
+      </Idata>
+      <Idata>
+        <Q unit="Q | 1/A">0.03</Q>
+        <I unit="Intensity | 1/cm">1001.0</I>
+        <Idev unit="Intensity | 1/cm">4.0</Idev>
+        <Qdev unit="Q | 1/A">0.02</Qdev>
+      </Idata>
+    </SASdata>
+    <SASsample name="my sample">
+      <ID>SI600-new-long</ID>
+      <thickness unit="mm">1.03</thickness>
+      <transmission>0.327</transmission>
+      <temperature unit="C">0.0</temperature>
+      <position>
+        <x unit="mm">10.0</x>
+        <y unit="mm">0.0</y>
+      </position>
+      <orientation>
+        <roll unit="degree">22.5</roll>
+        <pitch unit="degree">0.02</pitch>
+      </orientation>
+      <details>http://chemtools.chem.soton.ac.uk/projects/blog/blogs.php/bit_id/2720</details>
+      <details>Some text here</details>
+    </SASsample>
+    <SASinstrument>
+      <name>canSAS instrument</name>
+      <SASsource>
+        <radiation>neutron</radiation>
+        <beam_size name="bm">
+          <x unit="mm">12.0</x>
+          <y unit="mm">13.0</y>
+        </beam_size>
+        <beam_shape>disc</beam_shape>
+        <wavelength unit="A">6.0</wavelength>
+        <wavelength_min unit="nm">0.22</wavelength_min>
+        <wavelength_max unit="nm">1.0</wavelength_max>
+        <wavelength_spread unit="percent">14.3</wavelength_spread>
+      </SASsource>
+      <SAScollimation name="test coll name">
+        <length unit="mm">123.0</length>
+        <aperture name="source" type="radius">
+          <size>
+            <x unit="mm">50.0</x>
+          </size>
+          <distance unit="mm">11000.0</distance>
+        </aperture>
+        <aperture name="sample" type="radius">
+          <size>
+            <x unit="mm">1.0</x>
+          </size>
+        </aperture>
+      </SAScollimation>
+      <SASdetector>
+        <name>fictional hybrid</name>
+        <SDD unit="mm">4150.0</SDD>
+        <offset>
+          <x unit="m">0.001</x>
+          <y unit="m">0.002</y>
+        </offset>
+        <orientation>
+          <roll unit="degree">1.0</roll>
+          <pitch unit="degree">0.0</pitch>
+          <yaw unit="degree">0.0</yaw>
+        </orientation>
+        <beam_center>
+          <x unit="mm">322.64</x>
+          <y unit="mm">327.68</y>
+        </beam_center>
+        <pixel_size>
+          <x unit="mm">5.0</x>
+          <y unit="mm">5.0</y>
+        </pixel_size>
+      </SASdetector>
+    </SASinstrument>
+    <SASprocess>
+      <name>spol</name>
+      <date>04-Sep-2007 18:35:02</date>
+      <description></description>
+      <term unit="mm" name="radialstep">10.000</term>
+      <term unit="degree" name="sector_width">180.0</term>
+      <term unit="degree" name="sector_orient">0.0</term>
+      <term unit="" name="MASK_file">USER:MASK.COM</term>
+      <SASprocessnote>AvA1 0.0000E+00 AsA2 1.0000E+00 XvA3 1.0526E+03 XsA4 5.2200E-02 XfA5 0.0000E+00</SASprocessnote>
+      <SASprocessnote>S... 13597 0 2.26E+02 2A 5mM 0%D2O Sbak 13594 0 1.13E+02 H2O Buffer</SASprocessnote>
+      <SASprocessnote>V... 13552 3 1.00E+00 H2O5m</SASprocessnote>
+    </SASprocess>
+    <SASprocess>
+      <name>NCNR-IGOR</name>
+      <date>03-SEP-2006 11:42:47</date>
+      <description></description>
+      <term unit="" name="average_type">Circular</term>
+      <term unit="" name="SAM_file">SEP06064.SA3_AJJ_L205</term>
+      <term unit="" name="BKD_file">SEP06064.SA3_AJJ_L205</term>
+      <term unit="" name="EMP_file">SEP06064.SA3_AJJ_L205</term>
+      <term unit="" name="DIV_file">SEP06064.SA3_AJJ_L205</term>
+      <term unit="" name="MASK_file">SEP06064.SA3_AJJ_L205</term>
+      <term unit="" name="ABS:TSTAND">1</term>
+      <term unit="mm" name="ABS:DSTAND">1</term>
+      <term unit="" name="ABS:IZERO">230.09</term>
+      <term unit="mm" name="ABS:XSECT">1</term>
+      <SASprocessnote>No Information</SASprocessnote>
+    </SASprocess>
+    <SASnote></SASnote>
+  </SASentry>
+</SASroot>
Index: test/utest_sasview.py
===================================================================
--- test/utest_sasview.py	(revision 35ec2791ba4240f8154f552ce6ead4e850779a20)
+++ test/utest_sasview.py	(revision c155a16ca3fb1da7057f151c62510d780700b9e8)
@@ -4,9 +4,16 @@
 import re
 import sys
+
+import logging
+import logging.config
+LOGGER_CONFIG_FILE = os.path.join(os.path.abspath(os.path.dirname(__file__)), 'logging.ini')
+logging.config.fileConfig(LOGGER_CONFIG_FILE, disable_existing_loggers=False)
+logger = logging.getLogger()
+
 try:
     import xmlrunner
 except:
-    print "xmlrunner needs to be installed to run these tests"
-    print "Try easy_install unittest-xml-reporting"
+    logger.error("xmlrunner needs to be installed to run these tests")
+    logger.error("Try easy_install unittest-xml-reporting")
     sys.exit(1)
 
