]> git.ipfire.org Git - thirdparty/FORT-validator.git/commitdiff
Add --log.print-times and --validation-log.print-times
authorAlberto Leiva Popper <ydahhrk@gmail.com>
Wed, 24 Sep 2025 18:24:13 +0000 (12:24 -0600)
committerAlberto Leiva Popper <ydahhrk@gmail.com>
Wed, 24 Sep 2025 18:24:13 +0000 (12:24 -0600)
For easy line matching, wanted by RPT.

src/config.c
src/config.h
src/log.c

index ea8b14e29354ef488a750ab7fbdb1ee118d834bc..bfbf04883ccaa5a4404ea254518d9aa5f31780db 100644 (file)
@@ -147,6 +147,7 @@ struct rpki_config {
        struct {
                /** Enables operation logs **/
                bool enabled;
+               bool print_times;
                /** String tag to identify operation logs **/
                char *tag;
                /** Print ANSI color codes? */
@@ -164,6 +165,7 @@ struct rpki_config {
        struct {
                /** Enables validation Logs **/
                bool enabled;
+               bool print_times;
                /** String tag to identify validation logs **/
                char *tag;
                /** Print ANSI color codes? */
@@ -632,6 +634,12 @@ static const struct option_field options[] = {
                .type = &gt_log_level,
                .offset = offsetof(struct rpki_config, log.level),
                .doc = "Log level to print message of equal or higher importance",
+       }, {
+               .id = 4006,
+               .name = "log.print-times",
+               .type = &gt_bool,
+               .offset = offsetof(struct rpki_config, log.print_times),
+               .doc = "(Console output only)",
        }, {
                .id = 4003,
                .name = "log.tag",
@@ -678,6 +686,12 @@ static const struct option_field options[] = {
                .type = &gt_log_level,
                .offset = offsetof(struct rpki_config, validation_log.level),
                .doc = "Log level to print message of equal or higher importance",
+       }, {
+               .id = 4017,
+               .name = "validation-log.print-times",
+               .type = &gt_bool,
+               .offset = offsetof(struct rpki_config, validation_log.print_times),
+               .doc = "(Console output only)",
        }, {
                .id = 4013,
                .name = "validation-log.tag",
@@ -1306,6 +1320,12 @@ config_get_op_log_enabled(void)
        return rpki_config.log.enabled;
 }
 
+bool
+config_get_op_print_times(void)
+{
+       return rpki_config.log.print_times;
+}
+
 char const *
 config_get_op_log_tag(void)
 {
@@ -1348,6 +1368,12 @@ config_get_val_log_enabled(void)
        return rpki_config.validation_log.enabled;
 }
 
+bool
+config_get_val_print_times(void)
+{
+       return rpki_config.validation_log.print_times;
+}
+
 char const *
 config_get_val_log_tag(void)
 {
index fe42658ec426edc1cbc39829d04662a8fbf2771b..f64bd78fbd17cbb7ba569f166e0bfef609839fc7 100644 (file)
@@ -59,6 +59,7 @@ time_t config_get_validation_time(void);
 
 /* Logging getters */
 bool config_get_op_log_enabled(void);
+bool config_get_op_print_times(void);
 char const * config_get_op_log_tag(void);
 bool config_get_op_log_color_output(void);
 enum filename_format config_get_op_log_file_format(void);
@@ -67,6 +68,7 @@ enum log_output config_get_op_log_output(void);
 uint32_t config_get_op_log_facility(void);
 
 bool config_get_val_log_enabled(void);
+bool config_get_val_print_times(void);
 char const * config_get_val_log_tag(void);
 bool config_get_val_log_color_output(void);
 enum filename_format config_get_val_log_file_format(void);
index 66b0de1e17e6901a932cb7fca8554d0c3be4a63a..f63ef23f8ba1b92d6fafb6d0224048e70b93e5c5 100644 (file)
--- a/src/log.c
+++ b/src/log.c
@@ -32,6 +32,7 @@ struct log_config {
        bool syslog_enabled; /* Print on syslog? */
 
        uint8_t level;
+       bool print_times;
        char const *tag;
        bool color;
        int facility;
@@ -106,6 +107,7 @@ static void init_config(struct log_config *cfg)
        cfg->fprintf_enabled = true;
        cfg->syslog_enabled = true;
        cfg->level = LOG_DEBUG;
+       cfg->print_times = true;
        cfg->tag = NULL;
        cfg->color = false;
        cfg->facility = LOG_DAEMON;
@@ -193,11 +195,13 @@ log_start(void)
        }
 
        op_config.level = config_get_op_log_level();
+       op_config.print_times = config_get_op_print_times();
        op_config.tag = config_get_op_log_tag();
        op_config.color = config_get_op_log_color_output();
        op_config.facility = config_get_op_log_facility();
        op_config.rm_filepath = config_get_op_log_file_format() == FNF_NAME;
        val_config.level = config_get_val_log_level();
+       val_config.print_times = config_get_val_print_times();
        val_config.tag = config_get_val_log_tag();
        val_config.color = config_get_val_log_color_output();
        val_config.facility = config_get_val_log_facility();
@@ -303,7 +307,8 @@ __vfprintf(int level, struct log_config *cfg, char const *format, va_list args)
        if (cfg->color)
                fprintf(lvl->stream, "%s", lvl->color);
 
-       print_time(lvl);
+       if (cfg->print_times)
+               print_time(lvl);
 
        fprintf(lvl->stream, "%s", lvl->label);
        if (cfg->tag)