]> git.ipfire.org Git - thirdparty/FORT-validator.git/commitdiff
Fix log configuration issues
authordhfelix <daniel.hdz.felix@hotmail.com>
Fri, 29 May 2020 00:11:00 +0000 (19:11 -0500)
committerdhfelix <daniel.hdz.felix@hotmail.com>
Fri, 29 May 2020 00:11:00 +0000 (19:11 -0500)
Some logs were displayed despite being disabled.

src/config/boolean.c
src/config/filename_format.c
src/config/log_conf.c
src/log.c

index ceb289875cb3a056b1c41a9e924ab5d3e0c6ef45..19bbc982bd22ab9ca325e0586ce3279c87d13f4f 100644 (file)
@@ -31,7 +31,8 @@ parse_argv_bool(struct option_field const *field, char const *str, void *result)
                return 0;
        }
 
-       return pr_op_err("Cannot parse '%s' as a bool (true|false).", str);
+       return pr_op_err("Invalid %s: '%s', must be boolean (true|false)",
+           field->name, str);
 }
 
 int
index e9ec8ce3e41794701fd1bc90dda0a4eb1e415489..8f7e9d891020f12851441bcffb5f3573259627fb 100644 (file)
@@ -44,7 +44,8 @@ parse_argv_filename_format(struct option_field const *field, char const *str,
        else if (strcmp(str, FNF_VALUE_NAME) == 0)
                DEREFERENCE(result) = FNF_NAME;
        else
-               return pr_op_err("Unknown file name format: '%s'", str);
+               return pr_op_err("Unknown file name format %s: '%s'",
+                   field->name, str);
 
        return 0;
 }
index d6c5f0579778a0374ebc5a1629956677704909cb..5e4a5c59df7dcc5bcb8242b53183278a6482d472 100644 (file)
@@ -165,7 +165,7 @@ parse_argv_log_level(struct option_field const *field, char const *str,
        else if (strcmp(str, LOG_LEVEL_VALUE_DEBUG) == 0)
                DEREFERENCE_UINT(result) = LOG_DEBUG;
        else
-               return pr_op_err("Unknown log level: '%s'", str);
+               return pr_op_err("Unknown %s: '%s'", field->name, str);
 
        return 0;
 }
@@ -179,7 +179,7 @@ parse_argv_log_output(struct option_field const *field, char const *str,
        else if (strcmp(str, LOG_OUTPUT_VALUE_CONSOLE) == 0)
                DEREFERENCE_ENUM(result) = CONSOLE;
        else
-               return pr_op_err("Unknown log output: '%s'", str);
+               return pr_op_err("Unknown %s: '%s'", field->name, str);
 
        return 0;
 }
@@ -229,7 +229,7 @@ parse_argv_log_facility(struct option_field const *field, char const *str,
        else if (strcmp(str, LOG_FACILITY_VALUE_LOCAL7) == 0)
                DEREFERENCE_UINT32(result) = LOG_LOCAL7;
        else
-               return pr_op_err("Unknown log output: '%s'", str);
+               return pr_op_err("Unknown %s: '%s'", field->name, str);
 
        return 0;
 }
index 735423360cc8db798ebb96665e1daebcbd3da9ac..042b2a463dfdf12a685d5bc7f6bf23fe63bdffc7 100644 (file)
--- a/src/log.c
+++ b/src/log.c
@@ -72,32 +72,54 @@ log_disable_syslog(void)
 void
 log_start(void)
 {
-       switch (config_get_op_log_output()) {
-       case SYSLOG:
-               pr_op_info("Syslog log output configured; disabling operation logging on standard streams.");
-               pr_op_info("(Operation Logs will be sent to syslog only.)");
-               log_disable_op_std();
-               break;
-       case CONSOLE:
-               pr_op_info("Console log output configured; disabling operation logging on syslog.");
-               pr_op_info("(Operation Logs will be sent to the standard streams only.)");
-               op_syslog_enabled = false;
-               break;
+       if (config_get_val_log_enabled()) {
+               switch (config_get_val_log_output()) {
+               case SYSLOG:
+                       pr_op_info("Syslog log output configured; disabling validation logging on standard streams.");
+                       pr_op_info("(Validation Logs will be sent to syslog only.)");
+                       log_disable_val_std();
+                       break;
+               case CONSOLE:
+                       pr_op_info("Console log output configured; disabling validation logging on syslog.");
+                       pr_op_info("(Validation Logs will be sent to the standard streams only.)");
+                       val_syslog_enabled = false;
+                       break;
+               }
+       } else {
+               pr_op_info("Disabling validation logging on syslog.");
+               pr_op_info("Disabling validation logging on standard streams.");
+               log_disable_val_std();
+               val_syslog_enabled = false;
        }
 
-       switch (config_get_val_log_output()) {
-       case SYSLOG:
-               pr_op_info("Syslog log output configured; disabling validation logging on standard streams.");
-               pr_op_info("(Validation Logs will be sent to syslog only.)");
-               log_disable_val_std();
-               break;
-       case CONSOLE:
-               pr_op_info("Console log output configured; disabling validation logging on syslog.");
-               pr_op_info("(Validation Logs will be sent to the standard streams only.)");
-               if (!op_syslog_enabled)
+
+       if (config_get_op_log_enabled()) {
+               switch (config_get_op_log_output()) {
+               case SYSLOG:
+                       pr_op_info("Syslog log output configured; disabling operation logging on standard streams.");
+                       pr_op_info("(Operation Logs will be sent to syslog only.)");
+                       log_disable_op_std();
+                       break;
+               case CONSOLE:
+                       pr_op_info("Console log output configured; disabling operation logging on syslog.");
+                       pr_op_info("(Operation Logs will be sent to the standard streams only.)");
+                       if (!val_syslog_enabled)
+                               log_disable_syslog();
+                       else
+                               op_syslog_enabled = false;
+                       break;
+               }
+       } else {
+               pr_op_info("Disabling operation logging on syslog.");
+               pr_op_info("Disabling operation logging on standard streams.");
+               log_disable_op_std();
+               if (!val_syslog_enabled)
                        log_disable_syslog();
-               break;
+               else
+                       op_syslog_enabled = false;
        }
+
+
 }
 
 void