Write message to logging object.
(self, data)
| 215 | return [wrap_handler(h) for h in self.logger.handlers] |
| 216 | |
| 217 | def write(self, data): |
| 218 | # type: (AnyStr) -> int |
| 219 | """Write message to logging object.""" |
| 220 | if _in_sighandler: |
| 221 | safe_data = safe_str(data) |
| 222 | print(safe_data, file=sys.__stderr__) |
| 223 | return len(safe_data) |
| 224 | if getattr(self._thread, 'recurse_protection', False): |
| 225 | # Logger is logging back to this file, so stop recursing. |
| 226 | return 0 |
| 227 | if data and not self.closed: |
| 228 | self._thread.recurse_protection = True |
| 229 | try: |
| 230 | safe_data = safe_str(data).rstrip('\n') |
| 231 | if safe_data: |
| 232 | self.logger.log(self.loglevel, safe_data) |
| 233 | return len(safe_data) |
| 234 | finally: |
| 235 | self._thread.recurse_protection = False |
| 236 | return 0 |
| 237 | |
| 238 | def writelines(self, sequence): |
| 239 | # type: (Sequence[str]) -> None |