Adjusted update_log_path()

* Should result in more uniform log names
This commit is contained in:
2Shirt 2019-07-17 21:31:25 -06:00
parent 6e963fe5da
commit c9d35a0e2f
Signed by: 2Shirt
GPG key ID: 152FAC923B0E132C

View file

@ -24,14 +24,19 @@ def enable_debug_mode():
root_logger.setLevel('DEBUG') root_logger.setLevel('DEBUG')
def update_log_path(dest_dir, dest_filename=''): def update_log_path(dest_dir, dest_name=''):
"""Copies current log file to new dir and updates the root logger.""" """Copies current log file to new dir and updates the root logger.
NOTE: A timestamp and extension will be added to dest_name if provided."""
root_logger = logging.getLogger() root_logger = logging.getLogger()
cur_handler = root_logger.handlers[0] cur_handler = root_logger.handlers[0]
dest = pathlib.Path(dest_dir) dest = pathlib.Path(dest_dir)
dest = dest.expanduser() dest = dest.expanduser()
source = pathlib.Path(cur_handler.baseFilename) if dest_name:
source = source.resolve() dest_name = '{name}_{datetime}.log'.format(
name=dest_name,
datetime=time.strftime('%Y-%m-%d_%H%M%S%z'),
)
# Safety checks # Safety checks
if len(root_logger.handlers) > 1: if len(root_logger.handlers) > 1:
@ -40,8 +45,10 @@ def update_log_path(dest_dir, dest_filename=''):
raise NotImplementedError('update_log_path() only supports FileHandlers.') raise NotImplementedError('update_log_path() only supports FileHandlers.')
# Copy original log to new location # Copy original log to new location
if dest_filename: source = pathlib.Path(cur_handler.baseFilename)
dest = dest.joinpath(dest_filename) source = source.resolve()
if dest_name:
dest = dest.joinpath(dest_name)
else: else:
dest = dest.joinpath(source.name) dest = dest.joinpath(source.name)
dest = dest.resolve() dest = dest.resolve()
@ -82,7 +89,7 @@ def start(config=None):
if not config: if not config:
config = cfg.log.DEFAULT config = cfg.log.DEFAULT
if root_logger.hasHandlers(): if root_logger.hasHandlers():
raise UserWarning('Logging already started.') raise UserWarning('Logging already started, results may be unpredictable.')
# Create log_dir # Create log_dir
os.makedirs(log_path.parent, exist_ok=True) os.makedirs(log_path.parent, exist_ok=True)