Skip to content
Snippets Groups Projects
Commit ade49f07 authored by Gregory Ashton's avatar Gregory Ashton
Browse files

Update of setup_logger

- Checks if handlers already exist before adding them
- Add option to turn on/off printing of version information (off by
  default)
- Add call to setup_logger by default (with version information turned
  on by default)

Note - this makes empty calls to setup_logger() obsolete. However, if
you want to log to a file, with setup_logger(label='label') is still
useful.
parent b331d8a5
No related branches found
No related tags found
1 merge request!69Fix up logging
...@@ -231,7 +231,7 @@ def infft(hf, Fs): ...@@ -231,7 +231,7 @@ def infft(hf, Fs):
return h return h
def setup_logger(outdir=None, label=None, log_level=None): def setup_logger(outdir=None, label=None, log_level=None, print_version=False):
""" Setup logging output: call at the start of the script to use """ Setup logging output: call at the start of the script to use
Parameters Parameters
...@@ -241,6 +241,8 @@ def setup_logger(outdir=None, label=None, log_level=None): ...@@ -241,6 +241,8 @@ def setup_logger(outdir=None, label=None, log_level=None):
log_level = ['debug', 'info', 'warning'] log_level = ['debug', 'info', 'warning']
Either a string from the list above, or an interger as specified Either a string from the list above, or an interger as specified
in https://docs.python.org/2/library/logging.html#logging-levels in https://docs.python.org/2/library/logging.html#logging-levels
print_version: bool
If true, print version information
""" """
if type(log_level) is str: if type(log_level) is str:
...@@ -254,25 +256,28 @@ def setup_logger(outdir=None, label=None, log_level=None): ...@@ -254,25 +256,28 @@ def setup_logger(outdir=None, label=None, log_level=None):
LEVEL = int(log_level) LEVEL = int(log_level)
logger = logging.getLogger() logger = logging.getLogger()
stream_handler = logging.StreamHandler()
stream_handler.setFormatter(logging.Formatter(
'%(asctime)s %(levelname)-8s: %(message)s', datefmt='%H:%M'))
logger.setLevel(LEVEL) logger.setLevel(LEVEL)
stream_handler.setLevel(LEVEL)
logger.addHandler(stream_handler)
if label:
if outdir:
check_directory_exists_and_if_not_mkdir(outdir)
else:
outdir = '.'
log_file = '{}/{}.log'.format(outdir, label)
file_handler = logging.FileHandler(log_file)
file_handler.setFormatter(logging.Formatter(
'%(asctime)s %(levelname)-8s: %(message)s', datefmt='%H:%M'))
file_handler.setLevel(LEVEL) if any([type(h) == logging.StreamHandler for h in logger.handlers]) is False:
logger.addHandler(file_handler) stream_handler = logging.StreamHandler()
stream_handler.setFormatter(logging.Formatter(
'%(asctime)s %(levelname)-8s: %(message)s', datefmt='%H:%M'))
stream_handler.setLevel(LEVEL)
logger.addHandler(stream_handler)
if any([type(h) == logging.FileHandler for h in logger.handlers]) is False:
if label:
if outdir:
check_directory_exists_and_if_not_mkdir(outdir)
else:
outdir = '.'
log_file = '{}/{}.log'.format(outdir, label)
file_handler = logging.FileHandler(log_file)
file_handler.setFormatter(logging.Formatter(
'%(asctime)s %(levelname)-8s: %(message)s', datefmt='%H:%M'))
file_handler.setLevel(LEVEL)
logger.addHandler(file_handler)
version_file = os.path.join( version_file = os.path.join(
os.path.dirname(os.path.dirname(__file__)), '.version') os.path.dirname(os.path.dirname(__file__)), '.version')
...@@ -377,6 +382,7 @@ def set_up_command_line_arguments(): ...@@ -377,6 +382,7 @@ def set_up_command_line_arguments():
command_line_args = set_up_command_line_arguments() command_line_args = set_up_command_line_arguments()
setup_logger(print_version=True)
if 'DISPLAY' in os.environ: if 'DISPLAY' in os.environ:
logging.debug("DISPLAY={} environment found".format(os.environ['DISPLAY'])) logging.debug("DISPLAY={} environment found".format(os.environ['DISPLAY']))
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment