From 6cf0f8e76e81987f6a8d4ea5ca693f457386b863 Mon Sep 17 00:00:00 2001 From: Kichan Kwon Date: Tue, 14 Feb 2017 14:27:42 +0900 Subject: [PATCH] logger : fix '-s' option is not applied Change-Id: If94afefd0661df937bc9623f3f447d536e524ea2 Signed-off-by: Kichan Kwon --- src/logger/logger.c | 20 ++++++++++++++------ 1 file changed, 14 insertions(+), 6 deletions(-) diff --git a/src/logger/logger.c b/src/logger/logger.c index ca5f006..dea17aa 100644 --- a/src/logger/logger.c +++ b/src/logger/logger.c @@ -889,6 +889,7 @@ static int parse_command_line(const char* cmdl, struct logger* server, struct wr int wr_socket_fd = wr ? wr->socket_fd : -1; struct reader * reader; struct stat stat_buf; + int silence = 0; char const * conf_val; struct log_config conf = {NULL, NULL}; @@ -991,11 +992,17 @@ static int parse_command_line(const char* cmdl, struct logger* server, struct wr } reader->file.max_rotated = atoi(optarg); break; - case 'v': { - log_print_format print_format; - print_format = log_format_from_string(optarg); - log_set_print_format(reader->file.format, print_format); - } + case 'v': + if (!optarg) { + retval = -EINVAL; + goto cleanup; + } + log_set_print_format(reader->file.format, log_format_from_string(optarg)); + break; + case 's': + silence = 1; + log_add_filter_string(reader->file.format, "*:s"); + break; default: // everything else gets handled in util directly break; @@ -1005,6 +1012,8 @@ static int parse_command_line(const char* cmdl, struct logger* server, struct wr if (optind < argc) while (optind < argc) log_add_filter_string(reader->file.format, argv[optind++]); + else if (!silence) + log_add_filter_string(reader->file.format, "*:D"); if (wr && wr->buf_ptr) reader->buf_id = wr->buf_ptr->id; @@ -1403,7 +1412,6 @@ static struct logger* logger_create(struct log_config *conf) if (!(l->default_format = log_format_new())) goto err2; - log_add_filter_string(l->default_format, "*:d"); if (!(l->buffers = calloc(LOG_ID_MAX, sizeof(struct log_buffer*)))) goto err3; -- 2.7.4