1
0
mirror of https://github.com/apache/httpd.git synced 2026-01-06 09:01:14 +03:00

* 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
This commit is contained in:
Jan Kaluža
2015-04-24 06:56:43 +00:00
parent 38a56eedba
commit 148417b8a7
2 changed files with 9 additions and 92 deletions

View File

@@ -79,29 +79,21 @@
ErrorLog journald
</highlight>
</section>
<directivesynopsis>
<name>JournaldCustomLog</name>
<description>Enable logging of CustomLog/TransferLog to systemd-journald</description>
<syntax>JournaldCustomLog on|off</syntax>
<default>JournaldCustomLog off</default>
<contextlist><context>server config</context></contextlist>
<usage>
<p>The <directive>JournaldCustomLog</directive> directive enables logging
of CustomLog and TransferLog messages to systemd-journald.
<p>Using <code>journald</code> as an error log provider in CustomLog
directive (see <module>mod_log_config</module>) enables
logging via systemd-journald(8) if the system supports it.
</p>
<highlight language="config">
CustomLog "journald" "%h %l %u %t \"%r\" %>s %b"
</highlight>
<note type="warning"><title>Performance warning</title><p>
Currently, systemd-journald is not designed for high-throughput logging
and logging access_log to systemd-journald could decrease the performance
a lot.
</p></note>
</usage>
</directivesynopsis>
</section>
</modulesynopsis>

View File

@@ -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,
};