[LEDE-DEV] [PATCH][ubox] Add log priority filtering to daemon

John Crispin john at phrozen.org
Tue Nov 7 23:58:47 PST 2017



On 11/07/17 17:55, Ron Brash wrote:
> After wanting to filter logs at the logger level, instead of post
> log-write, we added
> a feature such that we can filter within the logd daemon itself.
>
sorry for the late review ...

> Signed-off-by: “Ron Brash <“ron.brash at gmail.com”>
> ---
>   log/logd.c | 14 +++++++++++++-
>   1 file changed, 13 insertions(+), 1 deletion(-)
>
> diff --git a/log/logd.c b/log/logd.c
> index 07aee2b..5b99fdf 100644
> --- a/log/logd.c
> +++ b/log/logd.c
> @@ -27,6 +27,7 @@
>   #include "syslog.h"
>
>   int debug = 0;
> +int priority = 0;
make this static and remove the = 0

>   static struct blob_buf b;
>   static struct ubus_auto_conn conn;
>   static LIST_HEAD(clients);
> @@ -182,6 +183,9 @@ ubus_notify_log(struct log_head *l)
>          if (list_empty(&clients))
>                  return;
>
> +       if((l->priority & 7) > priority) {
> +               return;
> +       }

drop the brackets please and use the LOG_PRI() macro please

>          blob_buf_init(&b, 0);
>          blobmsg_add_string(&b, "msg", l->data);
>          blobmsg_add_u32(&b, "id", l->id);
> @@ -214,13 +218,21 @@ main(int argc, char **argv)
>          int ch, log_size = 16;
>
>          signal(SIGPIPE, SIG_IGN);
> -       while ((ch = getopt(argc, argv, "S:")) != -1) {
> +       while ((ch = getopt(argc, argv, "P:S:")) != -1) {
>                  switch (ch) {
>                  case 'S':
>                          log_size = atoi(optarg);
>                          if (log_size < 1)
>                                  log_size = 16;
>                          break;
> +               case 'P':
> +                       priority = atoi(optarg);
> +                       if (priority < 0) {
> +                               priority = 0;
> +                       } else if (priority > 7) {
> +                               priority = 7;
> +                       }
you can probably drop the validation. if the users passes 9 as a 
priority everything will be logged. passing -1 will cause silent logging.

     John

> +                       break;
>                  }
>          }
>          log_size *= 1024;
>
> _______________________________________________
> Lede-dev mailing list
> Lede-dev at lists.infradead.org
> http://lists.infradead.org/mailman/listinfo/lede-dev




More information about the Lede-dev mailing list