Optimise the code for log directory created

Change-Id: Icfab4d3e916c570b2887944cfc7a907f8991bfe2
This commit is contained in:
caoyuan 2018-01-23 13:57:11 +08:00
parent 888aad13ce
commit c9d8639e2a
1 changed files with 14 additions and 19 deletions

View File

@ -579,29 +579,24 @@ def get_backup_args():
if not CONF.get('log_file'): if not CONF.get('log_file'):
log_file = None log_file = None
for file_name in ['/var/log/freezer-agent/freezer-agent.log', file_name = '/var/log/freezer-agent/freezer-agent.log'
'/var/log/freezer.log']: try:
try: log_file = prepare_logging(file_name)
log_file = prepare_logging(file_name) except IOError:
except IOError: pass
pass
if not log_file: if not log_file:
# Set default working directory to ~/.freezer. If the directory # Set default working directory to ~/.freezer. If the directory
# does not exists it is created # does not exists it is created
work_dir = os.path.join(home, '.freezer') try:
if not os.path.exists(work_dir): log_file = prepare_logging()
try: except (OSError, IOError) as err_msg:
os.makedirs(work_dir) # This avoids freezer-agent to crash if it can't write to
log_file = prepare_logging(os.path.join(work_dir, # ~/.freezer, which may happen on some env (for me,
'freezer.log')) # it happens in Jenkins, as freezer-agent can't write to
except (OSError, IOError) as err_msg: # /var/lib/jenkins).
# This avoids freezer-agent to crash if it can't write to print(encodeutils.safe_decode('{}'.format(err_msg)),
# ~/.freezer, which may happen on some env (for me, file=sys.stderr)
# it happens in Jenkins, as freezer-agent can't write to
# /var/lib/jenkins).
print(encodeutils.safe_decode('{}'.format(err_msg)),
file=sys.stderr)
if log_file: if log_file:
CONF.set_default('log_file', log_file) CONF.set_default('log_file', log_file)
else: else: