cpython: 6baa90fa2b6d (original) (raw)
Mercurial > cpython
changeset 71015:6baa90fa2b6d
Closes #12419: Added ident to SysLogHandler. [#12419]
Vinay Sajip <vinay_sajip@yahoo.co.uk> | |
---|---|
date | Mon, 27 Jun 2011 15:40:06 +0100 |
parents | 328fb2bbcd56 |
children | 66a14844e146 |
files | Doc/library/logging.handlers.rst Lib/logging/handlers.py Lib/test/test_logging.py |
diffstat | 3 files changed, 17 insertions(+), 0 deletions(-)[+] [-] Doc/library/logging.handlers.rst 9 Lib/logging/handlers.py 3 Lib/test/test_logging.py 5 |
line wrap: on
line diff
--- a/Doc/library/logging.handlers.rst
+++ b/Doc/library/logging.handlers.rst
@@ -452,6 +452,15 @@ supports sending logging messages to a r
behaviour) but can be set to False
on a SysLogHandler
instance
in order for that instance to not append the NUL terminator.
.. versionchanged:: 3.3[](#l1.7)
(See: :issue:`12419`.) In earlier versions, there was no facility for[](#l1.8)
an "ident" or "tag" prefix to identify the source of the message. This[](#l1.9)
can now be specified using a class-level attribute, defaulting to[](#l1.10)
``""`` to preserve existing behaviour, but which can be overridden on[](#l1.11)
a ``SysLogHandler`` instance in order for that instance to prepend[](#l1.12)
the ident to every message handled. Note that the provided ident must[](#l1.13)
be text, not bytes, and is prepended to the message exactly as is.[](#l1.14)
+ .. method:: encodePriority(facility, priority) Encodes the facility and priority into an integer. You can pass in strings
--- a/Lib/logging/handlers.py +++ b/Lib/logging/handlers.py @@ -769,6 +769,7 @@ class SysLogHandler(logging.Handler): """ return self.priority_map.get(levelName, "warning")
- ident = '' # prepended to all messages append_nul = True # some old syslog daemons expect a NUL terminator def emit(self, record): @@ -779,6 +780,8 @@ class SysLogHandler(logging.Handler): exception information is present, it is NOT sent to the server. """ msg = self.format(record)
if self.ident:[](#l2.15)
msg = self.ident + msg[](#l2.16) if self.append_nul:[](#l2.17) msg += '\000'[](#l2.18) """[](#l2.19)
--- a/Lib/test/test_logging.py +++ b/Lib/test/test_logging.py @@ -1482,6 +1482,11 @@ class SysLogHandlerTest(BaseTest): logger.error("sp\xe4m") self.handled.wait() self.assertEqual(self.log_output, b'<11>\xef\xbb\xbfsp\xc3\xa4m')
self.handled.clear()[](#l3.7)
self.sl_hdlr.ident = "h\xe4m-"[](#l3.8)
logger.error("sp\xe4m")[](#l3.9)
self.handled.wait()[](#l3.10)
self.assertEqual(self.log_output, b'<11>\xef\xbb\xbfh\xc3\xa4m-sp\xc3\xa4m')[](#l3.11)
@unittest.skipUnless(threading, 'Threading required for this test.')