Changes in / [200ce9c:a2b74bb] in sasview


Ignore:
Location:
src/sas
Files:
8 edited

Legend:

Unmodified
Added
Removed
  • src/sas/logger_config.py

    re4335ae rcee5c78  
    77 
    88import pkg_resources 
     9 
    910 
    1011''' 
     
    2829            logging.captureWarnings(True) 
    2930            logger = logging.getLogger(self.name) 
    30  
    3131        return logger 
    3232 
     
    3838        self._update_all_logs_to_debug(logger) 
    3939        logging.captureWarnings(True) 
    40  
    4140        return logger 
    4241 
     
    5049        ''' 
    5150        for handler in logger.handlers or logger.parent.handlers: 
    52             handler.setLevel(logging.DEBUG) 
     51            #handler.setLevel(logging.DEBUG) 
     52            handler.setLevel(logging.WARNING) 
    5353        for name, _ in logging.Logger.manager.loggerDict.items(): 
    54             logging.getLogger(name).setLevel(logging.DEBUG) 
     54            #logging.getLogger(name).setLevel(logging.DEBUG) 
     55            logging.getLogger(name).setLevel(logging.WARNING) 
    5556 
    5657    def _find_config_file(self, filename="logging.ini"): 
  • src/sas/logging.ini

    re4335ae r7c105e8  
    1212#format=%(asctime)s - %(name)s - %(levelname)s - %(message)s 
    1313#format=%(asctime)s - %(levelname)s : %(name)s:%(pathname)s:%(lineno)4d: %(message)s 
    14 #format=%(asctime)s - %(levelname)s : %(name)s:%(lineno)4d: %(message)s 
    15 format=%(asctime)s - %(levelname)s: %(message)s 
     14format=%(asctime)s - %(levelname)s : %(name)s:%(lineno)4d: %(message)s 
    1615datefmt=%H:%M:%S 
    1716 
  • src/sas/qtgui/MainWindow/GuiManager.py

    re4335ae rf0a8f74  
    1313# General SAS imports 
    1414from sas.qtgui.Utilities.ConnectionProxy import ConnectionProxy 
    15 from sas.qtgui.Utilities.SasviewLogger import setup_qt_logging 
     15from sas.qtgui.Utilities.SasviewLogger import XStream 
    1616 
    1717import sas.qtgui.Utilities.LocalConfig as LocalConfig 
     
    8686 
    8787        # Fork off logging messages to the Log Window 
    88         handler = setup_qt_logging() 
    89         handler.messageWritten.connect(self.appendLog) 
     88        XStream.stdout().messageWritten.connect(self.listWidget.insertPlainText) 
     89        XStream.stderr().messageWritten.connect(self.listWidget.insertPlainText) 
    9090 
    9191        # Log the start of the session 
     
    269269        """ 
    270270        self.statusLabel.setText(text) 
    271  
    272     def appendLog(self, msg): 
    273         """Appends a message to the list widget in the Log Explorer. Use this 
    274         instead of listWidget.insertPlainText() to facilitate auto-scrolling""" 
    275         self.listWidget.append(msg.strip()) 
    276271 
    277272    def createGuiData(self, item, p_file=None): 
  • src/sas/qtgui/MainWindow/MainWindow.py

    re4335ae ra3221b6  
    1010from sas.qtgui.UI import main_resources_rc 
    1111from .UI.MainWindowUI import Ui_MainWindow 
     12 
     13# Initialize logging 
     14import sas.qtgui.Utilities.SasviewLogger 
    1215 
    1316class MainSasViewWindow(QMainWindow, Ui_MainWindow): 
  • src/sas/qtgui/Perspectives/Fitting/FittingWidget.py

    re4335ae re20870bc  
    106106        # Globals 
    107107        self.initializeGlobals() 
     108 
     109        # Set up desired logging level 
     110        logging.disable(LocalConfig.DISABLE_LOGGING) 
    108111 
    109112        # data index for the batch set 
  • src/sas/qtgui/Utilities/LocalConfig.py

    re4335ae ra0ed202  
    136136USING_TWISTED = True 
    137137 
     138# Logging levels to disable, if any 
     139DISABLE_LOGGING = logging.DEBUG 
     140 
    138141# Time out for updating sasview 
    139142UPDATE_TIMEOUT = 2 
    140143 
    141144# Logging levels to disable, if any 
    142 DISABLE_LOGGING = logging.NOTSET 
     145DISABLE_LOGGING = logging.DEBUG 
    143146 
    144147def printEVT(message): 
  • src/sas/qtgui/Utilities/SasviewLogger.py

    re4335ae r4992ff2  
    66 
    77 
    8 class QtHandler(QObject, logging.Handler): 
    9     """ 
    10     Version of logging handler "emitting" the message to custom stdout() 
    11     """ 
     8class XStream(QObject): 
     9    _stdout = None 
     10    _stderr = None 
    1211    messageWritten = pyqtSignal(str) 
    1312 
     13    def flush(self): 
     14        pass 
     15 
     16    def fileno(self): 
     17        return -1 
     18 
     19    def write(self, msg): 
     20        if(not self.signalsBlocked()): 
     21            self.messageWritten.emit(str(msg)) 
     22 
     23    @staticmethod 
     24    def stdout(): 
     25        if(not XStream._stdout): 
     26            XStream._stdout = XStream() 
     27            sys.stdout = XStream._stdout 
     28        return XStream._stdout 
     29 
     30    @staticmethod 
     31    def stderr(): 
     32        if(not XStream._stderr): 
     33            XStream._stderr = XStream() 
     34            sys.stderr = XStream._stderr 
     35        return XStream._stderr 
     36 
     37class QtHandler(logging.Handler): 
     38    """ 
     39    Version of logging handler 
     40    "emitting" the message to custom stdout() 
     41    """ 
    1442    def __init__(self): 
    15         QObject.__init__(self) 
    1643        logging.Handler.__init__(self) 
    1744 
     
    1946        record = self.format(record) 
    2047        if record: 
    21             self.messageWritten.emit('%s\n'%record) 
     48            XStream.stdout().write('%s\n'%record) 
    2249 
    2350 
    24 def setup_qt_logging(): 
    25     # Define the default logger 
    26     logger = logging.getLogger() 
     51# Define the default logger 
     52logger = logging.getLogger() 
    2753 
    28     # Add the qt-signal logger 
    29     handler = QtHandler() 
    30     handler.setFormatter(logging.Formatter( 
    31         fmt="%(asctime)s - %(levelname)s: %(message)s", 
    32         datefmt="%H:%M:%S" 
    33     )) 
    34     logger.addHandler(handler) 
    35  
    36     return handler 
     54# Add the file handler 
     55logging.basicConfig(level=logging.INFO, 
     56                    format='%(asctime)s %(levelname)s %(message)s', 
     57                    filename=os.path.join(os.path.expanduser("~"), 
     58                                          'sasview.log')) 
     59# Add the qt-signal logger 
     60handler = QtHandler() 
     61handler.setFormatter(logging.Formatter("%(levelname)s: %(message)s")) 
     62logger.addHandler(handler) 
  • src/sas/qtgui/Utilities/UnitTesting/SasviewLoggerTest.py

    re4335ae r53c771e  
    1111 
    1212# Local 
     13from sas.qtgui.Utilities.SasviewLogger import XStream 
    1314from sas.qtgui.Utilities.SasviewLogger import QtHandler 
    1415 
     
    2223        """ 
    2324        self.logger = logging.getLogger(__name__) 
    24         self.handler = QtHandler() 
    25         self.handler.setFormatter(logging.Formatter("%(levelname)s: %(message)s")) 
    26         self.logger.addHandler(self.handler) 
     25        handler = QtHandler() 
     26        handler.setFormatter(logging.Formatter("%(levelname)s: %(message)s")) 
     27        self.logger.addHandler(handler) 
    2728        self.logger.setLevel(logging.DEBUG) 
    2829 
     
    3435        Test redirection of all levels of logging 
    3536        """ 
    36         # Attach the listener 
    37         self.handler.messageWritten.connect(self.outHandlerGui.insertPlainText) 
     37        # Attach the listeners 
     38        XStream.stderr().messageWritten.connect( self.outHandlerGui.insertPlainText ) 
     39        XStream.stdout().messageWritten.connect( self.outHandlerGui.insertPlainText ) 
    3840 
    3941        # Send the signals 
     
    4244        self.logger.warning('warning message') 
    4345        self.logger.error('error message') 
     46        sys.stdout.write('with stdout') 
     47        sys.stderr.write('with stderr') 
    4448 
    4549        out=self.outHandlerGui.toPlainText() 
     
    5054        self.assertIn('WARNING: warning message', out) 
    5155        self.assertIn('ERROR: error message', out) 
     56        self.assertIn('with stdout', out) 
     57        self.assertIn('with stderr', out) 
    5258 
    5359if __name__ == "__main__": 
Note: See TracChangeset for help on using the changeset viewer.