117 |
117 |
118 # the message, including possible tag/pid |
118 # the message, including possible tag/pid |
119 + r"(?P<message>(?P<tag>(?P<program>[^:\]]+)(?:\[(?P<pid>\d+)\])?: )?(?P<text>.*))\n?" |
119 + r"(?P<message>(?P<tag>(?P<program>[^:\]]+)(?:\[(?P<pid>\d+)\])?: )?(?P<text>.*))\n?" |
120 ) |
120 ) |
121 |
121 |
122 def __init__ (self, raw=False, facility=None) : |
122 def __init__ (self, raw=False, facility=None, severity=None) : |
123 """ |
123 """ |
124 Using given underlying line source. |
124 Using given facility/severity as default. |
125 """ |
125 """ |
126 |
126 |
127 self.raw = raw |
127 self.raw = raw |
128 self.facility = facility |
128 self.facility = facility |
|
129 self.severity = severity |
129 |
130 |
130 def parse_pri (self, match) : |
131 def parse_pri (self, match) : |
131 """ |
132 """ |
132 Parse pri/facility/severity. |
133 Parse pri/facility/severity. |
133 """ |
134 """ |
134 |
135 |
135 pri = match.group('pri') |
136 pri = match.group('pri') |
136 facility = match.group('facility') or self.facility |
137 facility = match.group('facility') or self.facility |
137 severity = match.group('severity') |
138 severity = match.group('severity') or self.severity |
138 |
139 |
139 if pri and pri.isdigit() : |
140 if pri and pri.isdigit() : |
140 pri = int(pri) |
141 pri = int(pri) |
141 facility, severity = divmod(pri, 8) |
142 facility, severity = divmod(pri, 8) |
142 |
143 |