Resolves: #1914182 - RFE: CustomLog should be able to use journald
This commit is contained in:
parent
74ee2f12bd
commit
74333afc91
87
httpd-2.4.43-logjournal.patch
Normal file
87
httpd-2.4.43-logjournal.patch
Normal file
@ -0,0 +1,87 @@
|
|||||||
|
diff --git a/modules/loggers/config.m4 b/modules/loggers/config.m4
|
||||||
|
index 762e773..0848d2e 100644
|
||||||
|
--- a/modules/loggers/config.m4
|
||||||
|
+++ b/modules/loggers/config.m4
|
||||||
|
@@ -5,6 +5,8 @@ dnl APACHE_MODULE(name, helptext[, objects[, structname[, default[, config]]]])
|
||||||
|
APACHE_MODPATH_INIT(loggers)
|
||||||
|
|
||||||
|
APACHE_MODULE(log_config, logging configuration. You won't be able to log requests to the server without this module., , , yes)
|
||||||
|
+APR_ADDTO(MOD_LOG_CONFIG_LDADD, [$SYSTEMD_LIBS])
|
||||||
|
+
|
||||||
|
APACHE_MODULE(log_debug, configurable debug logging, , , most)
|
||||||
|
APACHE_MODULE(log_forensic, forensic logging)
|
||||||
|
|
||||||
|
diff --git a/modules/loggers/mod_log_config.c b/modules/loggers/mod_log_config.c
|
||||||
|
index 996c09c..50a056a 100644
|
||||||
|
--- a/modules/loggers/mod_log_config.c
|
||||||
|
+++ b/modules/loggers/mod_log_config.c
|
||||||
|
@@ -172,6 +172,10 @@
|
||||||
|
#include <limits.h>
|
||||||
|
#endif
|
||||||
|
|
||||||
|
+#ifdef HAVE_SYSTEMD
|
||||||
|
+#include <systemd/sd-journal.h>
|
||||||
|
+#endif
|
||||||
|
+
|
||||||
|
#define DEFAULT_LOG_FORMAT "%h %l %u %t \"%r\" %>s %b"
|
||||||
|
|
||||||
|
module AP_MODULE_DECLARE_DATA log_config_module;
|
||||||
|
@@ -1638,6 +1642,25 @@ static apr_status_t ap_default_log_writer( request_rec *r,
|
||||||
|
|
||||||
|
return rv;
|
||||||
|
}
|
||||||
|
+
|
||||||
|
+static apr_status_t wrap_journal_stream(apr_pool_t *p, apr_file_t **outfd,
|
||||||
|
+ int priority)
|
||||||
|
+{
|
||||||
|
+#ifdef HAVE_SYSTEMD
|
||||||
|
+ int fd;
|
||||||
|
+
|
||||||
|
+ fd = sd_journal_stream_fd("httpd", priority, 0);
|
||||||
|
+ if (fd < 0) return fd;
|
||||||
|
+
|
||||||
|
+ /* This is an AF_UNIX socket fd so is more pipe-like than
|
||||||
|
+ * file-like (the fd is neither seekable or readable), and use of
|
||||||
|
+ * apr_os_pipe_put_ex() allows cleanup registration. */
|
||||||
|
+ return apr_os_pipe_put_ex(outfd, &fd, 1, p);
|
||||||
|
+#else
|
||||||
|
+ return APR_ENOTIMPL;
|
||||||
|
+#endif
|
||||||
|
+}
|
||||||
|
+
|
||||||
|
static void *ap_default_log_writer_init(apr_pool_t *p, server_rec *s,
|
||||||
|
const char* name)
|
||||||
|
{
|
||||||
|
@@ -1650,6 +1673,32 @@ static void *ap_default_log_writer_init(apr_pool_t *p, server_rec *s,
|
||||||
|
}
|
||||||
|
return ap_piped_log_write_fd(pl);
|
||||||
|
}
|
||||||
|
+ else if (strncasecmp(name, "journald:", 9) == 0) {
|
||||||
|
+ int priority;
|
||||||
|
+ const char *err = ap_parse_log_level(name + 9, &priority);
|
||||||
|
+ apr_status_t rv;
|
||||||
|
+ apr_file_t *fd;
|
||||||
|
+
|
||||||
|
+ if (err == NULL && priority > LOG_DEBUG) {
|
||||||
|
+ err = "TRACE level debugging not supported with journald";
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
+ if (err) {
|
||||||
|
+ ap_log_error(APLOG_MARK, APLOG_ERR, APR_EBADPATH, s,
|
||||||
|
+ "invalid journald log priority name %s: %s",
|
||||||
|
+ name, err);
|
||||||
|
+ return NULL;
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
+ rv = wrap_journal_stream(p, &fd, priority);
|
||||||
|
+ if (rv) {
|
||||||
|
+ ap_log_error(APLOG_MARK, APLOG_ERR, rv, s,
|
||||||
|
+ "could not open journald log stream");
|
||||||
|
+ return NULL;
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
+ return fd;
|
||||||
|
+ }
|
||||||
|
else {
|
||||||
|
const char *fname = ap_server_root_relative(p, name);
|
||||||
|
apr_file_t *fd;
|
@ -13,7 +13,7 @@
|
|||||||
Summary: Apache HTTP Server
|
Summary: Apache HTTP Server
|
||||||
Name: httpd
|
Name: httpd
|
||||||
Version: 2.4.46
|
Version: 2.4.46
|
||||||
Release: 8%{?dist}
|
Release: 9%{?dist}
|
||||||
URL: https://httpd.apache.org/
|
URL: https://httpd.apache.org/
|
||||||
Source0: https://www.apache.org/dist/httpd/httpd-%{version}.tar.bz2
|
Source0: https://www.apache.org/dist/httpd/httpd-%{version}.tar.bz2
|
||||||
Source1: https://www.apache.org/dist/httpd/httpd-%{version}.tar.bz2.asc
|
Source1: https://www.apache.org/dist/httpd/httpd-%{version}.tar.bz2.asc
|
||||||
@ -84,6 +84,7 @@ Patch41: httpd-2.4.43-r1861793+.patch
|
|||||||
Patch42: httpd-2.4.43-r1828172+.patch
|
Patch42: httpd-2.4.43-r1828172+.patch
|
||||||
Patch43: httpd-2.4.43-sslcoalesce.patch
|
Patch43: httpd-2.4.43-sslcoalesce.patch
|
||||||
Patch44: httpd-2.4.46-lua-resume.patch
|
Patch44: httpd-2.4.46-lua-resume.patch
|
||||||
|
Patch45: httpd-2.4.43-logjournal.patch
|
||||||
|
|
||||||
# Bug fixes
|
# Bug fixes
|
||||||
# https://bugzilla.redhat.com/show_bug.cgi?id=1397243
|
# https://bugzilla.redhat.com/show_bug.cgi?id=1397243
|
||||||
@ -236,6 +237,7 @@ written in the Lua programming language.
|
|||||||
%patch42 -p1 -b .r1828172+
|
%patch42 -p1 -b .r1828172+
|
||||||
%patch43 -p1 -b .sslcoalesce
|
%patch43 -p1 -b .sslcoalesce
|
||||||
%patch44 -p1 -b .luaresume
|
%patch44 -p1 -b .luaresume
|
||||||
|
%patch45 -p1 -b .logjournal
|
||||||
|
|
||||||
%patch60 -p1 -b .enable-sslv3
|
%patch60 -p1 -b .enable-sslv3
|
||||||
%patch62 -p1 -b .r1870095
|
%patch62 -p1 -b .r1870095
|
||||||
@ -777,6 +779,9 @@ exit $rv
|
|||||||
%{_rpmconfigdir}/macros.d/macros.httpd
|
%{_rpmconfigdir}/macros.d/macros.httpd
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Mon Feb 01 2021 Lubos Uhliarik <luhliari@redhat.com> - 2.4.46-9
|
||||||
|
- Resolves: #1914182 - RFE: CustomLog should be able to use journald
|
||||||
|
|
||||||
* Tue Jan 26 2021 Fedora Release Engineering <releng@fedoraproject.org> - 2.4.46-8
|
* Tue Jan 26 2021 Fedora Release Engineering <releng@fedoraproject.org> - 2.4.46-8
|
||||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user