New submission from Vaclav Bartos <bar...@cesnet.cz>:
When `syslog.openlog()` is called without parameters (or `syslog.syslog()` is called directly), the `ident` parameter should be set to "sys.argv[0] with leading path components stripped" (citation from docs). I suppose this means that when sys.argv[0] is "/some/path/to/script", the ident should be set to "script" (this is the behavior in Python 2.7) However, in Python 3.x, it gets set to "/script", i.e. the last slash is included in the string. I suppose this is not intended, it is just a "one-off" error in parsing the string. The fix is trivial, see the linked GitHub PR. To reproduce the bug: $ python3 >>> import sys >>> import syslog >>> sys.argv[0] = "/some/path/to/script" >>> syslog.syslog("TEST MESSAGE") >>> $ tail -n 1 /var/log/messages Oct 3 11:11:46 localhost /script: TEST MESSAGE ---------- components: Extension Modules messages: 353839 nosy: vaclavbartos priority: normal pull_requests: 16147 severity: normal status: open title: syslog: Default "ident" in syslog.openlog() shouldn't contain slash type: behavior versions: Python 3.5, Python 3.6, Python 3.7, Python 3.8, Python 3.9 _______________________________________ Python tracker <rep...@bugs.python.org> <https://bugs.python.org/issue38361> _______________________________________ _______________________________________________ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com