Python: отправка сообщения системного журнала со значением приоритета с RF C 3164 - PullRequest
1 голос
/ 25 апреля 2020

, пожалуйста, помогите, как использовать класс encodePriority (средство, приоритет) модуля логирования в python. Ниже пример python код отправляет сообщения на сервер системного журнала, и удаленный UNIX ожидает журнал в RFC3164, я пытаюсь установить приоритетное значение в качестве префикса для каждого сообщения системного журнала, которое рассчитывается путем умножения номера объекта на 8 и затем добавляем числовое значение Серьезности.

hostname = socket.gethostname()
ipaddress = socket.gethostbyname(hostname)

log_format = logging.Formatter('%(asctime)s  %(localhost)s  %(message)s', datefmt='%b %d %Y %H:%M:%S');
loggerConf = setup_logger(name="mylogger3", logfile='logs/my.log', formatter=log_format, level=10, disableStderrLogger=True)
logger2 = logging.LoggerAdapter(loggerConf, {'localhost': ipaddress})
logger2.info("sample message")



expected output:

<24>Apr 25 2020 02:38:24  10.20.30.40  sample message

, где 24 вычисляется из объекта * 8 + Серьезность ==> при условии, что я установил fa c в 3, серьезность в 0 ..

по РФ C 3164:

   Numerical             Facility
      Code

       0             kernel messages
       1             user-level messages
       2             mail system
       3             system daemons
       4             security/authorization messages (note 1)
       5             messages generated internally by syslogd
       6             line printer subsystem
       7             network news subsystem
       8             UUCP subsystem
       9             clock daemon (note 2)
      10             security/authorization messages (note 1)
      11             FTP daemon
      12             NTP subsystem
      13             log audit (note 1)
      14             log alert (note 1)
      15             clock daemon (note 2)
      16             local use 0  (local0)
      17             local use 1  (local1)
      18             local use 2  (local2)
      19             local use 3  (local3)
      20             local use 4  (local4)
      21             local use 5  (local5)
      22             local use 6  (local6)
      23             local use 7  (local7)

    Numerical         Severity
      Code

       0       Emergency: system is unusable
       1       Alert: action must be taken immediately
       2       Critical: critical conditions
       3       Error: error conditions
       4       Warning: warning conditions
       5       Notice: normal but significant condition
       6       Informational: informational messages
       7       Debug: debug-level messages
...