mirror of
https://github.com/ansible-collections/community.general.git
synced 2024-09-14 20:13:21 +02:00
* syslogger - update syslog.openlog API call for older Python
Fixes: #953
Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
* Update changelogs/fragments/953_syslogger.yml
Co-authored-by: Felix Fontein <felix@fontein.de>
Co-authored-by: Felix Fontein <felix@fontein.de>
(cherry picked from commit ce83bde742
)
Co-authored-by: Abhijeet Kasurde <akasurde@redhat.com>
This commit is contained in:
parent
a9cad80a36
commit
1552bae77b
2 changed files with 18 additions and 17 deletions
2
changelogs/fragments/953_syslogger.yml
Normal file
2
changelogs/fragments/953_syslogger.yml
Normal file
|
@ -0,0 +1,2 @@
|
||||||
|
bugfixes:
|
||||||
|
- syslogger - update ``syslog.openlog`` API call for older Python versions, and improve error handling (https://github.com/ansible-collections/community.general/issues/953).
|
|
@ -5,7 +5,7 @@
|
||||||
from __future__ import absolute_import, division, print_function
|
from __future__ import absolute_import, division, print_function
|
||||||
__metaclass__ = type
|
__metaclass__ = type
|
||||||
|
|
||||||
DOCUMENTATION = '''
|
DOCUMENTATION = r'''
|
||||||
---
|
---
|
||||||
module: syslogger
|
module: syslogger
|
||||||
short_description: Log messages in the syslog
|
short_description: Log messages in the syslog
|
||||||
|
@ -33,7 +33,7 @@ options:
|
||||||
default: "daemon"
|
default: "daemon"
|
||||||
log_pid:
|
log_pid:
|
||||||
description:
|
description:
|
||||||
- Log the pid in brackets.
|
- Log the PID in brackets.
|
||||||
type: bool
|
type: bool
|
||||||
default: False
|
default: False
|
||||||
ident:
|
ident:
|
||||||
|
@ -83,7 +83,7 @@ facility:
|
||||||
type: str
|
type: str
|
||||||
sample: "info"
|
sample: "info"
|
||||||
log_pid:
|
log_pid:
|
||||||
description: Log pid status
|
description: Log PID status
|
||||||
returned: always
|
returned: always
|
||||||
type: bool
|
type: bool
|
||||||
sample: True
|
sample: True
|
||||||
|
@ -94,11 +94,14 @@ msg:
|
||||||
sample: "Hello from Ansible"
|
sample: "Hello from Ansible"
|
||||||
'''
|
'''
|
||||||
|
|
||||||
from ansible.module_utils.basic import AnsibleModule
|
|
||||||
import syslog
|
import syslog
|
||||||
|
import traceback
|
||||||
|
|
||||||
|
from ansible.module_utils.basic import AnsibleModule
|
||||||
|
from ansible.module_utils._text import to_native
|
||||||
|
|
||||||
|
|
||||||
def get_facility(x):
|
def get_facility(facility):
|
||||||
return {
|
return {
|
||||||
'kern': syslog.LOG_KERN,
|
'kern': syslog.LOG_KERN,
|
||||||
'user': syslog.LOG_USER,
|
'user': syslog.LOG_USER,
|
||||||
|
@ -118,10 +121,10 @@ def get_facility(x):
|
||||||
'local5': syslog.LOG_LOCAL5,
|
'local5': syslog.LOG_LOCAL5,
|
||||||
'local6': syslog.LOG_LOCAL6,
|
'local6': syslog.LOG_LOCAL6,
|
||||||
'local7': syslog.LOG_LOCAL7
|
'local7': syslog.LOG_LOCAL7
|
||||||
}.get(x, syslog.LOG_DAEMON)
|
}.get(facility, syslog.LOG_DAEMON)
|
||||||
|
|
||||||
|
|
||||||
def get_priority(x):
|
def get_priority(priority):
|
||||||
return {
|
return {
|
||||||
'emerg': syslog.LOG_EMERG,
|
'emerg': syslog.LOG_EMERG,
|
||||||
'alert': syslog.LOG_ALERT,
|
'alert': syslog.LOG_ALERT,
|
||||||
|
@ -131,7 +134,7 @@ def get_priority(x):
|
||||||
'notice': syslog.LOG_NOTICE,
|
'notice': syslog.LOG_NOTICE,
|
||||||
'info': syslog.LOG_INFO,
|
'info': syslog.LOG_INFO,
|
||||||
'debug': syslog.LOG_DEBUG
|
'debug': syslog.LOG_DEBUG
|
||||||
}.get(x, syslog.LOG_INFO)
|
}.get(priority, syslog.LOG_INFO)
|
||||||
|
|
||||||
|
|
||||||
def main():
|
def main():
|
||||||
|
@ -168,20 +171,16 @@ def main():
|
||||||
|
|
||||||
# do the logging
|
# do the logging
|
||||||
try:
|
try:
|
||||||
if module.params['log_pid']:
|
|
||||||
syslog.openlog(module.params['ident'],
|
syslog.openlog(module.params['ident'],
|
||||||
logoption=syslog.LOG_PID,
|
syslog.LOG_PID if module.params['log_pid'] else 0,
|
||||||
facility=get_facility(module.params['facility']))
|
get_facility(module.params['facility']))
|
||||||
else:
|
|
||||||
syslog.openlog(module.params['ident'],
|
|
||||||
facility=get_facility(module.params['facility']))
|
|
||||||
syslog.syslog(get_priority(module.params['priority']),
|
syslog.syslog(get_priority(module.params['priority']),
|
||||||
module.params['msg'])
|
module.params['msg'])
|
||||||
syslog.closelog()
|
syslog.closelog()
|
||||||
result['changed'] = True
|
result['changed'] = True
|
||||||
|
|
||||||
except Exception:
|
except Exception as exc:
|
||||||
module.fail_json(error='Failed to write to syslog', **result)
|
module.fail_json(error='Failed to write to syslog %s' % to_native(exc), exception=traceback.format_exc(), **result)
|
||||||
|
|
||||||
module.exit_json(**result)
|
module.exit_json(**result)
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue