This logger is created using the action name as the logger name, so it
is included in the log messages.
""" Running backup actions """
import os
""" Running backup actions """
import os
import logging as log
from backupninja import config
import logging as log
from backupninja import config
configuration file. opts are the parsed commandline options,
global_config is the parsed global configuration.
"""
configuration file. opts are the parsed commandline options,
global_config is the parsed global configuration.
"""
+ config_name = os.path.basename(action_config)
# Split the action filename
# Split the action filename
- parts = os.path.basename(action_config).split('.')
+ parts = os.path.basename(config_name).split('.')
if (len(parts) != 2):
log.error('Invalid action filename: "%s". Should be in the form name.type, where type is a valid handler.' % action_config)
return
(action_name, action_ty) = parts
if (len(parts) != 2):
log.error('Invalid action filename: "%s". Should be in the form name.type, where type is a valid handler.' % action_config)
return
(action_name, action_ty) = parts
- log.info('Running action "%s.%s"', action_name, action_ty)
+
+ action_log = logging.getLogger(config_name)
+ action_log.info('Running')
try:
# Create a handler for this action
try:
# Create a handler for this action
- action = handlers.create_action(action_ty)
+ action = handlers.create_action(action_ty, logger=action_log)
# Let the handler load its configuration file
action.load_config(action_config)
# Run it
# Let the handler load its configuration file
action.load_config(action_config)
# Run it
# Ask the action if there where any failures
success = not action.failed
except Exception, e:
# Ask the action if there where any failures
success = not action.failed
except Exception, e:
- log.error('Unexpected exception: %s', e)
+ action_log.error('Unexpected exception: %s', e)
import traceback
log.debug(traceback.format_exc())
success = False
if success:
import traceback
log.debug(traceback.format_exc())
success = False
if success:
- log.info('Running action "%s.%s" succeeded', action_name, action_ty)
+ action_log.info('Succeeded')
- log.info('Running action "%s.%s" failed', action_name, action_ty)
+ action_log.info('Failed')
which is a combination of a action type and a specific action
configuration).
"""
which is a combination of a action type and a specific action
configuration).
"""
+ def __init__(self, logger):
# Subclasses should overwrite this with their default config
# See backupninja.config.load_config for the structure of this
# value.
# Subclasses should overwrite this with their default config
# See backupninja.config.load_config for the structure of this
# value.
# A logger object for this action. In the future, this might
# become a specific logger, that includes the action name and
# type.
# A logger object for this action. In the future, this might
# become a specific logger, that includes the action name and
# type.
def run(self, **kwargs):
"""
def run(self, **kwargs):
"""