py.lib.aw_log
6:9155a66edb31
Go to Latest
py.lib.aw_log/src/aw_log/syslog.py
.. 1.202410.1
. Изменение структуры проекта под новые вызовы SDK Python
. Убраны версии с отдельный файлов, они кажутся избыточними.
* Изменено формирование записей о исключении, для большего соответствия логике журналирования
- Перенос `NullLog` на уровень модуля и повышение его универсальности для замены других классов.
6 from . import AbstractLogBase
9 "`": syslog.LOG_DEBUG, # Debug
10 ".": syslog.LOG_INFO, # Info
11 "*": syslog.LOG_WARNING, # Warning
12 "!": syslog.LOG_ERR, # Error
13 "#": syslog.LOG_ALERT, # Alert
17 class SysLog(AbstractLogBase):
19 def init_syslog(ident):
20 syslog.openlog(ident, syslog.LOG_PID)
22 def __init__(self, prefix: str = 'main', facility=syslog.LOG_USER):
23 super().__init__(prefix=prefix)
24 self.facility = facility
26 def sub_log(self, name: str):
27 return self.__class__(f'{self.prefix}/{name}', self.facility)
29 def _write(self, mark: str, msg: Any):
30 flag = self.facility | PRIORITY_BY_MARK.get(mark, syslog.LOG_INFO)
32 for l in self._write_helper(mark=mark, msg=msg):
33 syslog.syslog(flag, l)