|
|
|
@ -649,12 +649,10 @@ SETDEFAULTS_FUNC(log_access_open) {
|
|
|
|
|
#define O_LARGEFILE 0 |
|
|
|
|
#endif |
|
|
|
|
|
|
|
|
|
SIGHUP_FUNC(log_access_cycle) { |
|
|
|
|
static void log_access_flush(server *srv, void *p_d) { |
|
|
|
|
plugin_data *p = p_d; |
|
|
|
|
size_t i; |
|
|
|
|
|
|
|
|
|
if (!p->config_storage) return HANDLER_GO_ON; |
|
|
|
|
|
|
|
|
|
for (i = 0; i < srv->config_context->used; i++) { |
|
|
|
|
plugin_config *s = p->config_storage[i]; |
|
|
|
|
|
|
|
|
@ -665,7 +663,25 @@ SIGHUP_FUNC(log_access_cycle) {
|
|
|
|
|
|
|
|
|
|
buffer_reset(s->access_logbuffer); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
TRIGGER_FUNC(log_access_periodic_flush) { |
|
|
|
|
/* flush buffered access logs every 4 seconds */ |
|
|
|
|
if (0 == (srv->cur_ts & 3)) log_access_flush(srv, p_d); |
|
|
|
|
return HANDLER_GO_ON; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
SIGHUP_FUNC(log_access_cycle) { |
|
|
|
|
plugin_data *p = p_d; |
|
|
|
|
size_t i; |
|
|
|
|
|
|
|
|
|
if (!p->config_storage) return HANDLER_GO_ON; |
|
|
|
|
|
|
|
|
|
log_access_flush(srv, p); |
|
|
|
|
|
|
|
|
|
for (i = 0; i < srv->config_context->used; i++) { |
|
|
|
|
plugin_config *s = p->config_storage[i]; |
|
|
|
|
if (s->use_syslog == 0 |
|
|
|
|
&& !buffer_string_is_empty(s->access_logfile) |
|
|
|
|
&& s->access_logfile->ptr[0] != '|') { |
|
|
|
@ -1126,6 +1142,7 @@ int mod_accesslog_plugin_init(plugin *p) {
|
|
|
|
|
p->cleanup = mod_accesslog_free; |
|
|
|
|
|
|
|
|
|
p->handle_request_done = log_access_write; |
|
|
|
|
p->handle_trigger = log_access_periodic_flush; |
|
|
|
|
p->handle_sighup = log_access_cycle; |
|
|
|
|
|
|
|
|
|
p->data = NULL; |
|
|
|
|