Hi everyone,
a month ago I wrote a small lightweight syslog/syslogd implementation
for RIOT and added a pull request[1]. This mainly is for a
private/university project and since I may got some spare time in the
next weeks to continue working on this, I thought about getting some
feedback from this list beforehand. First and most important is the
question if this feature is still of interest for the RIOT community? It
was originally mentioned in a feature request back in 2015[2] and may be
obsolete by this time. Anyway, I think RIOT could benefit from a syslog
implementation with udp remote logging feature and hope I can continue
working on this.
A few more details about the implementation:
- I separated the syslog implementation and the syslogd implementation
used for log shipping.
- I implemented the syslog implementation as described in the glibc
documentation[3] for compatibility reasons.
- The implementation should be rfc5424[4] compatible.
- The syslog implementation itself is able to log to console.
- The syslogd implementation adds support for log shipping to file and
via udp.
If this is still of interest i have some question about the general
design and would be happy if someone could give me feedback about the
following topics/design decisions
- I implemented the syslogd implementation as a RIOT pkg. The reasons
are that the syslogd implementation should be easily exchangeable and is
not needed for basic functionality such as logging to console. I more or
less see the syslogd implementation as a proof of concept and it may
need a lot more work (especially compile time configurable outputs would
be cool to minimize the binary size).
- The syslogd implementation gets its input via RIOT IPC. Which is not
the most generic way but way better than writing an abstraction for
/dev/log which needs FS support and stuff. On the downside, any syslogd
needs an implementation for RIOT IPC inputs.
- Should the syslog implementation be included into an existing logging API?
I appreciated any feedback you may have.
Regards,
Robin
[1] https://github.com/RIOT-OS/RIOT/pull/11362
[2] https://github.com/RIOT-OS/RIOT/issues/2376
[3] https://www.gnu.org/software/libc/manual/html_node/Syslog.html
[4] https://tools.ietf.org/html/rfc5424
_______________________________________________
devel mailing list
devel@riot-os.org
https://lists.riot-os.org/mailman/listinfo/devel