Révision c5e20b7c
Ajouté par Benjamin Dauvergne il y a presque 11 ans
entrouvert/logging/handlers.py | ||
---|---|---|
6 | 6 |
codecs = None |
7 | 7 |
|
8 | 8 |
class SysLogHandler(logging.handlers.SysLogHandler): |
9 |
max_length = 120 |
|
10 |
|
|
11 |
def __init__(self, *args, **kwargs): |
|
12 |
self.max_length = kwargs.pop('max_length', 70) |
|
13 |
super(SysLogHandler, self).__init__(*args, **kwargs) |
|
14 |
|
|
9 | 15 |
def emit(self, record): |
10 | 16 |
""" |
11 | 17 |
Emit a record. |
... | ... | |
20 | 26 |
""" |
21 | 27 |
prio = '<%d>' % self.encodePriority(self.facility, |
22 | 28 |
self.mapPriority(record.levelname)) |
23 |
max_length = 70 |
|
24 | 29 |
i = 0 |
25 | 30 |
while source_msg[i:]: |
26 |
msg = source_msg[i:i+max_length] + '\000' |
|
31 |
msg = source_msg[i:i+self.max_length] + '\000'
|
|
27 | 32 |
if i: |
28 | 33 |
msg = ' ' + msg |
29 |
i += max_length |
|
34 |
i += self.max_length
|
|
30 | 35 |
# Message is a string. Convert to bytes as required by RFC 5424 |
31 | 36 |
if type(msg) is unicode: |
32 | 37 |
msg = msg.encode('utf-8') |
Formats disponibles : Unified diff
logging: make maximum line length configurable