Changeset e4335ae in sasview for src/sas/qtgui/Utilities
- Timestamp:
- Jul 19, 2018 6:12:03 AM (7 years ago)
- Branches:
- ESS_GUI, ESS_GUI_batch_fitting, ESS_GUI_bumps_abstraction, ESS_GUI_iss1116, ESS_GUI_iss879, ESS_GUI_opencl, ESS_GUI_ordering, ESS_GUI_sync_sascalc
- Children:
- c0de493
- Parents:
- 02e7d3a
- git-author:
- Torin Cooper-Bennun <40573959+tcbennun@…> (07/19/18 06:12:03)
- git-committer:
- Piotr Rozyczko <piotr.rozyczko@…> (07/19/18 06:12:03)
- Location:
- src/sas/qtgui/Utilities
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
src/sas/qtgui/Utilities/LocalConfig.py
ra0ed202 re4335ae 136 136 USING_TWISTED = True 137 137 138 # Logging levels to disable, if any139 DISABLE_LOGGING = logging.DEBUG140 141 138 # Time out for updating sasview 142 139 UPDATE_TIMEOUT = 2 143 140 144 141 # Logging levels to disable, if any 145 DISABLE_LOGGING = logging. DEBUG142 DISABLE_LOGGING = logging.NOTSET 146 143 147 144 def printEVT(message): -
src/sas/qtgui/Utilities/SasviewLogger.py
r4992ff2 re4335ae 6 6 7 7 8 class XStream(QObject): 9 _stdout = None 10 _stderr = None 8 class QtHandler(QObject, logging.Handler): 9 """ 10 Version of logging handler "emitting" the message to custom stdout() 11 """ 11 12 messageWritten = pyqtSignal(str) 12 13 13 def flush(self):14 pass15 16 def fileno(self):17 return -118 19 def write(self, msg):20 if(not self.signalsBlocked()):21 self.messageWritten.emit(str(msg))22 23 @staticmethod24 def stdout():25 if(not XStream._stdout):26 XStream._stdout = XStream()27 sys.stdout = XStream._stdout28 return XStream._stdout29 30 @staticmethod31 def stderr():32 if(not XStream._stderr):33 XStream._stderr = XStream()34 sys.stderr = XStream._stderr35 return XStream._stderr36 37 class QtHandler(logging.Handler):38 """39 Version of logging handler40 "emitting" the message to custom stdout()41 """42 14 def __init__(self): 15 QObject.__init__(self) 43 16 logging.Handler.__init__(self) 44 17 … … 46 19 record = self.format(record) 47 20 if record: 48 XStream.stdout().write('%s\n'%record)21 self.messageWritten.emit('%s\n'%record) 49 22 50 23 51 # Define the default logger 52 logger = logging.getLogger() 24 def setup_qt_logging(): 25 # Define the default logger 26 logger = logging.getLogger() 53 27 54 # Add the file handler55 logging.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 60 handler = QtHandler()61 handler.setFormatter(logging.Formatter("%(levelname)s: %(message)s")) 62 logger.addHandler(handler) 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 -
src/sas/qtgui/Utilities/UnitTesting/SasviewLoggerTest.py
r53c771e re4335ae 11 11 12 12 # Local 13 from sas.qtgui.Utilities.SasviewLogger import XStream14 13 from sas.qtgui.Utilities.SasviewLogger import QtHandler 15 14 … … 23 22 """ 24 23 self.logger = logging.getLogger(__name__) 25 handler = QtHandler()26 handler.setFormatter(logging.Formatter("%(levelname)s: %(message)s"))27 self.logger.addHandler( handler)24 self.handler = QtHandler() 25 self.handler.setFormatter(logging.Formatter("%(levelname)s: %(message)s")) 26 self.logger.addHandler(self.handler) 28 27 self.logger.setLevel(logging.DEBUG) 29 28 … … 35 34 Test redirection of all levels of logging 36 35 """ 37 # Attach the listeners 38 XStream.stderr().messageWritten.connect( self.outHandlerGui.insertPlainText ) 39 XStream.stdout().messageWritten.connect( self.outHandlerGui.insertPlainText ) 36 # Attach the listener 37 self.handler.messageWritten.connect(self.outHandlerGui.insertPlainText) 40 38 41 39 # Send the signals … … 44 42 self.logger.warning('warning message') 45 43 self.logger.error('error message') 46 sys.stdout.write('with stdout')47 sys.stderr.write('with stderr')48 44 49 45 out=self.outHandlerGui.toPlainText() … … 54 50 self.assertIn('WARNING: warning message', out) 55 51 self.assertIn('ERROR: error message', out) 56 self.assertIn('with stdout', out)57 self.assertIn('with stderr', out)58 52 59 53 if __name__ == "__main__":
Note: See TracChangeset
for help on using the changeset viewer.