From: Jan Kaluža Date: Fri, 24 Apr 2015 06:56:43 +0000 (+0000) Subject: * mod_journald: Remove JournaldCustomLog. It is not needed now when X-Git-Tag: 2.5.0-alpha~3218 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=148417b8a77d864d2fbfc11511db237178dd2403;p=apache * mod_journald: Remove JournaldCustomLog. It is not needed now when mod_log_config can use mod_journald as errorlog provider. git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1675797 13f79535-47bb-0310-9956-ffa450edef68 --- diff --git a/docs/manual/mod/mod_journald.xml b/docs/manual/mod/mod_journald.xml index 696c0d67e0..c9c56d3b2d 100644 --- a/docs/manual/mod/mod_journald.xml +++ b/docs/manual/mod/mod_journald.xml @@ -79,29 +79,21 @@ ErrorLog journald - - - - -JournaldCustomLog -Enable logging of CustomLog/TransferLog to systemd-journald -JournaldCustomLog on|off -JournaldCustomLog off -server config - - - -

The JournaldCustomLog directive enables logging - of CustomLog and TransferLog messages to systemd-journald. +

Using journald as an error log provider in CustomLog + directive (see mod_log_config) enables + logging via systemd-journald(8) if the system supports it.

+ +CustomLog "journald" "%h %l %u %t \"%r\" %>s %b" + + Performance warning

Currently, systemd-journald is not designed for high-throughput logging and logging access_log to systemd-journald could decrease the performance a lot.

-
-
+ diff --git a/modules/loggers/mod_journald.c b/modules/loggers/mod_journald.c index 14e6f76e5a..002017eae6 100644 --- a/modules/loggers/mod_journald.c +++ b/modules/loggers/mod_journald.c @@ -40,8 +40,6 @@ #define MAX_ENTRIES 15 -static int handle_custom_log = 0; - static int journald_info_get_priority(int level) { switch(level) { @@ -176,64 +174,6 @@ static const char *journald_error_log_parse(cmd_parms *cmd, const char *arg) return NULL; } -static apr_status_t journald_log_writer(request_rec *r, - void *handle, - const char **strs, - int *strl, - int nelts, - apr_size_t len) - -{ - char *str; - char *s; - int i; - apr_status_t rv = APR_SUCCESS; - - str = apr_palloc(r->pool, len + 1); - - /* Last string is always \n, so skipt it */ - for (i = 0, s = str; i < nelts - 1; ++i) { - memcpy(s, strs[i], strl[i]); - s += strl[i]; - } - - journald_log(r->pool, (char *) handle, str, len, - LOG_INFO, r->server, r); - - return rv; -} - -static void *journald_log_writer_init(apr_pool_t *p, server_rec *s, - const char* name) -{ - char *log_name = apr_pstrdup(p, name); - return log_name; -} - -static int journald_open_logs(apr_pool_t *p, apr_pool_t *plog, - apr_pool_t *ptemp, server_rec *s) -{ - APR_OPTIONAL_FN_TYPE(ap_log_set_writer_init) *log_set_writer_init; - APR_OPTIONAL_FN_TYPE(ap_log_set_writer) *log_set_writer; - - if (!handle_custom_log) { - return OK; - } - - log_set_writer_init = APR_RETRIEVE_OPTIONAL_FN(ap_log_set_writer_init); - log_set_writer = APR_RETRIEVE_OPTIONAL_FN(ap_log_set_writer); - - if (log_set_writer_init) { - log_set_writer_init(&journald_log_writer_init); - } - - if (log_set_writer) { - log_set_writer(&journald_log_writer); - } - - return OK; -} - static void journald_register_hooks(apr_pool_t *p) { static const ap_errorlog_provider journald_provider = { @@ -246,23 +186,8 @@ static void journald_register_hooks(apr_pool_t *p) ap_register_provider(p, AP_ERRORLOG_PROVIDER_GROUP, "journald", AP_ERRORLOG_PROVIDER_VERSION, &journald_provider); - - ap_hook_open_logs(journald_open_logs, NULL, NULL, APR_HOOK_FIRST); } -static const char *set_custom_log_on(cmd_parms *parms, void *dummy, int flag) -{ - handle_custom_log = flag; - return NULL; -} - -static const command_rec journald_cmds[] = -{ -AP_INIT_FLAG("JournaldCustomLog", set_custom_log_on, NULL, RSRC_CONF, - "Enable logging of CustomLog/TransferLog to journald"), - {NULL} -}; - AP_DECLARE_MODULE(journald) = { STANDARD20_MODULE_STUFF, @@ -270,6 +195,6 @@ AP_DECLARE_MODULE(journald) = NULL, NULL, NULL, - journald_cmds, + NULL, journald_register_hooks, };