Hi, Since I got some questions from the subscribers, I'd like to explain more why I wanted to add this feature to a cutdown logging system logd instead of using a more comprehensive syslog implementation such as rsyslog.
1. logd is built-in logd is a built-in feature of ubox, and ubox is a heart of OpenWrt/LEDE. If ubox can achieve all the use cases, we should simply just use it. Use rsyslog instead will create additional footprint in terms of resource while a lot of features in rsyslog is not going to be used. 2. rsyslog lacks ring buffer logd has a very good ring buffer architecture, and it also comes with a very good client logread. Deal with the log files created by rsyslog is kind of complex, as you can see some examples here: https://www.loggly.com/blog/why-journald/ "Simple plain text files also require log rotation to prevent them from becoming too large. In log rotation, existing log files are renamed and compressed. Any programs that watch syslog messages for problems have to deal with this somehow." 3. To make a working and secure remote logging pipeline, what we need is just logread, stunnel, and a log server. A log server will probably need some sort of special format in order to do the authentication or classification. So without template feature in logread, we'll need another service in between logread and stunnel for just manipulating every line of the log or we write another logread to achieve this. While logread already has some sort of object of the log, doing this in logread will be easier for both programmers and the computer. 4. The template feature in this patch is very efficient. It doesn't create any overhead if the user doesn't enable this feature by passing the corresponding argument. The string replacement is also efficient, we can improve it by optimizing some strlen() function calls for sure but basically it's efficient enough. Regards, Henry _______________________________________________ Lede-dev mailing list Lede-dev@lists.infradead.org http://lists.infradead.org/mailman/listinfo/lede-dev