diff --git a/eos/__main__.py b/eos/__main__.py index b8a6e1b..c3fff27 100644 --- a/eos/__main__.py +++ b/eos/__main__.py @@ -10,7 +10,7 @@ import logging # need to do absolute import here as pyinstaller requires it from eos.options import ReflectivityConfig, ReaderConfig, ExperimentConfig, ReflectivityReductionConfig, ReflectivityOutputConfig from eos.command_line import commandLineArgs -from eos.logconfig import setup_logging, update_loglevel +from eos.logconfig import setup_logging, update_loglevel, setup_logfile def main(): @@ -27,6 +27,8 @@ def main(): output_config = ReflectivityOutputConfig.from_args(clas) config = ReflectivityConfig(reader_config, experiment_config, reduction_config, output_config) + if output_config.logFile: + setup_logfile() logging.warning('######## eos - data reduction for Amor ########') # only import heavy module if sufficient command line parameters were provided diff --git a/eos/logconfig.py b/eos/logconfig.py index 38b9c34..6893d81 100644 --- a/eos/logconfig.py +++ b/eos/logconfig.py @@ -4,10 +4,9 @@ Setup for the logging of eos. import sys import logging import logging.handlers -from .options import ReflectivityOutputConfig def setup_logging(): - logger = logging.getLogger() # logging.getLogger('quicknxs') + logger = logging.getLogger() logger.setLevel(logging.DEBUG) # rename levels to make clear warning is can be a normal message logging.addLevelName(logging.INFO, 'VERB') @@ -20,26 +19,23 @@ def setup_logging(): console.setLevel(logging.WARNING) logger.addHandler(console) - if ReflectivityOutputConfig.logFile: - # if os.path.exists('amor_eos.log'): - # rollover = True - # else: - # rollover = False - logfile = logging.handlers.RotatingFileHandler( - 'amor_eos.log', - encoding='utf8', - mode='w', - maxBytes=200*1024**2, - backupCount=20, - ) - # if rollover: logfile.doRollover() - formatter = logging.Formatter( - '[%(levelname).4s] - %(asctime)s - %(filename)s:%(lineno)i:%(funcName)s %(message)s', - '', - ) - logfile.setFormatter(formatter) - logfile.setLevel(logging.DEBUG) - logger.addHandler(logfile) + +def setup_logfile(): + logfile = logging.handlers.RotatingFileHandler( + 'amor_eos.log', + encoding='utf8', + mode='w', + maxBytes=200*1024**2, + backupCount=20, + ) + formatter = logging.Formatter( + '[%(levelname).4s] - %(asctime)s - %(filename)s:%(lineno)i:%(funcName)s %(message)s', + '', + ) + logfile.setFormatter(formatter) + logfile.setLevel(logging.DEBUG) + logger = logging.getLogger() + logger.addHandler(logfile) def update_loglevel(verbose=0): if verbose==1: