diff options
-rw-r--r-- | utility/config.h | 1 | ||||
-rw-r--r-- | utility/logparse.c | 9 |
2 files changed, 7 insertions, 3 deletions
diff --git a/utility/config.h b/utility/config.h index c627662..ebedec3 100644 --- a/utility/config.h +++ b/utility/config.h | |||
@@ -30,6 +30,7 @@ struct config_t { | |||
30 | apr_pool_t *errorlog_p; | 30 | apr_pool_t *errorlog_p; |
31 | 31 | ||
32 | const char *badlinefile; | 32 | const char *badlinefile; |
33 | const char *badlastfile; | ||
33 | apr_file_t *badline_fp; | 34 | apr_file_t *badline_fp; |
34 | int badline_count; | 35 | int badline_count; |
35 | int badlinemax; | 36 | int badlinemax; |
diff --git a/utility/logparse.c b/utility/logparse.c index ec587a8..d172f27 100644 --- a/utility/logparse.c +++ b/utility/logparse.c | |||
@@ -228,7 +228,10 @@ apr_status_t parser_logbadline(config_t *cfg, const char *filename, | |||
228 | logging_log(cfg, LOGLEVEL_NOISE, | 228 | logging_log(cfg, LOGLEVEL_NOISE, |
229 | "Error opening badline file %s\n", cfg->badlinefile); | 229 | "Error opening badline file %s\n", cfg->badlinefile); |
230 | cfg->badlinefile = NULL; | 230 | cfg->badlinefile = NULL; |
231 | } else { | 231 | } |
232 | } | ||
233 | if (!rv) { | ||
234 | if (filename != cfg->badlastfile){ | ||
232 | char date[APR_RFC822_DATE_LEN]; | 235 | char date[APR_RFC822_DATE_LEN]; |
233 | vec[0].iov_base = "Starting BadLines for \""; | 236 | vec[0].iov_base = "Starting BadLines for \""; |
234 | vec[0].iov_len = sizeof("Starting BadLines for \"")-1; | 237 | vec[0].iov_len = sizeof("Starting BadLines for \"")-1; |
@@ -242,9 +245,9 @@ apr_status_t parser_logbadline(config_t *cfg, const char *filename, | |||
242 | vec[4].iov_base = "\n"; | 245 | vec[4].iov_base = "\n"; |
243 | vec[4].iov_len = 1; | 246 | vec[4].iov_len = 1; |
244 | apr_file_writev(cfg->badline_fp, vec,5, &len); | 247 | apr_file_writev(cfg->badline_fp, vec,5, &len); |
248 | cfg->badlastfile = filename; | ||
245 | } | 249 | } |
246 | } | 250 | |
247 | if (!rv) { | ||
248 | if ((++cfg->badline_count) > cfg->badlinemax) { | 251 | if ((++cfg->badline_count) > cfg->badlinemax) { |
249 | logging_log(cfg, LOGLEVEL_NOISE, | 252 | logging_log(cfg, LOGLEVEL_NOISE, |
250 | "Found more than %d bad lines (found %d)", | 253 | "Found more than %d bad lines (found %d)", |