Implement a RELP client handler for simplelog, allowing log messages to be delivered to a remote rsyslog server using the RELP protocol (via imrelp).
imrelp
RELPHandler
slog.Handler
ExtendedHandler
LOGGER_RELP_URL
tcp://rsyslog.example.com:2514
open
syslog
close
rsp
Frame format: TXNR SP COMMAND SP DATALEN [SP DATA] LF
TXNR SP COMMAND SP DATALEN [SP DATA] LF
No dependencies set.
The note is not visible to the blocked user.
Goal
Implement a RELP client handler for simplelog, allowing log messages to be delivered to a remote rsyslog server using the RELP protocol (via
imrelp).Design
RELPHandlerimplementingslog.Handler(andExtendedHandler)LOGGER_RELP_URLenvironment variable (e.g.tcp://rsyslog.example.com:2514)openhandshake,syslogcommand for each log message, gracefulclosesyslogcommandsyslogcommand gets anrspfrom the server confirming deliveryRELP Protocol Summary
Frame format:
TXNR SP COMMAND SP DATALEN [SP DATA] LFopen— session init with version/capabilities offerssyslog— deliver a log messageclose— graceful session teardownrsp— server response with status code (200=ok, 500=error)References