1
0
Fork 0
mirror of https://github.com/ansible-collections/community.general.git synced 2024-09-14 20:13:21 +02:00

Catch exception when logging to systemd journal fails

systemd journal will throw IOError exception when journal.sendv() fails.
This catches that and falls back to syslog.  See issue #2773.
This commit is contained in:
Stephen Fromm 2013-04-24 15:00:47 -07:00
parent fd2840c0e4
commit 189b210f5a

View file

@ -692,7 +692,12 @@ class AnsibleModule(object):
journal_args.append("MODULE=%s" % os.path.basename(__file__)) journal_args.append("MODULE=%s" % os.path.basename(__file__))
for arg in log_args: for arg in log_args:
journal_args.append(arg.upper() + "=" + str(log_args[arg])) journal_args.append(arg.upper() + "=" + str(log_args[arg]))
try:
journal.sendv(*journal_args) journal.sendv(*journal_args)
except IOError, e:
# fall back to syslog since logging to journal failed
syslog.openlog(module, 0, syslog.LOG_USER)
syslog.syslog(syslog.LOG_NOTICE, msg)
else: else:
syslog.openlog(module, 0, syslog.LOG_USER) syslog.openlog(module, 0, syslog.LOG_USER)
syslog.syslog(syslog.LOG_NOTICE, msg) syslog.syslog(syslog.LOG_NOTICE, msg)