py.lib.aw_log
2024-02-11
Child:9155a66edb31
py.lib.aw_log/src/aw_log/syslog.py
..init
| awgur@0 | 1 # coding: utf-8 |
| awgur@0 | 2 # devel.a0fs.ru -- aw_log.syslog -- v0.r202402.1 |
| awgur@0 | 3 |
| awgur@0 | 4 import syslog |
| awgur@0 | 5 from typing import Any |
| awgur@0 | 6 |
| awgur@0 | 7 from . import AbstractLogBase |
| awgur@0 | 8 |
| awgur@0 | 9 PRIORITY_BY_MARK = { |
| awgur@0 | 10 "`": syslog.LOG_DEBUG, # Debug |
| awgur@0 | 11 ".": syslog.LOG_INFO, # Info |
| awgur@0 | 12 "*": syslog.LOG_WARNING, # Warning |
| awgur@0 | 13 "!": syslog.LOG_ERR, # Error |
| awgur@0 | 14 "#": syslog.LOG_ALERT, # Alert |
| awgur@0 | 15 } |
| awgur@0 | 16 |
| awgur@0 | 17 |
| awgur@0 | 18 class SysLog(AbstractLogBase): |
| awgur@0 | 19 @staticmethod |
| awgur@0 | 20 def init_syslog(ident): |
| awgur@0 | 21 syslog.openlog(ident, syslog.LOG_PID) |
| awgur@0 | 22 |
| awgur@0 | 23 def __init__(self, prefix: str = 'main', facility=syslog.LOG_USER): |
| awgur@0 | 24 super().__init__(prefix=prefix) |
| awgur@0 | 25 self.facility = facility |
| awgur@0 | 26 |
| awgur@0 | 27 def _write(self, mark: str, msg: Any): |
| awgur@0 | 28 flag = self.facility | PRIORITY_BY_MARK.get(mark, syslog.LOG_INFO) |
| awgur@0 | 29 |
| awgur@0 | 30 for l in self._write_helper(mark=mark, msg=msg): |
| awgur@0 | 31 syslog.syslog(flag, l) |