You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@sling.apache.org by cz...@apache.org on 2023/06/02 05:15:00 UTC
[sling-org-apache-sling-engine] branch issues/SLING-11898 updated: SLING-11898 : Make patterns for access and request log configurable
This is an automated email from the ASF dual-hosted git repository.
cziegeler pushed a commit to branch issues/SLING-11898
in repository https://gitbox.apache.org/repos/asf/sling-org-apache-sling-engine.git
The following commit(s) were added to refs/heads/issues/SLING-11898 by this push:
new f61f0ce SLING-11898 : Make patterns for access and request log configurable
f61f0ce is described below
commit f61f0ce7c17f6065cb01cdc0276c0e34f9854755
Author: Carsten Ziegeler <cz...@apache.org>
AuthorDate: Fri Jun 2 07:14:55 2023 +0200
SLING-11898 : Make patterns for access and request log configurable
---
.../sling/engine/impl/log/RequestLogger.java | 35 +++++++++++++++-------
1 file changed, 25 insertions(+), 10 deletions(-)
diff --git a/src/main/java/org/apache/sling/engine/impl/log/RequestLogger.java b/src/main/java/org/apache/sling/engine/impl/log/RequestLogger.java
index edd2178..dd8f8be 100644
--- a/src/main/java/org/apache/sling/engine/impl/log/RequestLogger.java
+++ b/src/main/java/org/apache/sling/engine/impl/log/RequestLogger.java
@@ -52,9 +52,7 @@ public class RequestLogger {
"The request log logs the entry and exit of each request into and "+
"out of the system together with the entry time, exit time, time to process "+
"the request, a request counter as well as the final status code and response "+
- "content type. In terms of Request Logger Service formats, request entry is "+
- "logged with the format \"%t [%R] -> %m %U%q %H\" and request exit is logged "+
- "with the format \"%{end}t [%R] <- %s %{Content-Type}o %Dms\".")
+ "content type. The format can be configured with the Request Log Entry/Exit Format setting.")
String request_log_output() default "logs/request.log";
@AttributeDefinition(name = "Request Log Type",
@@ -71,16 +69,26 @@ public class RequestLogger {
})
int request_log_outputtype() default 0;
+ @AttributeDefinition(name = "Request Log Entry Format",
+ description = "The format of the request log. The request entry is "+
+ "logged with the format \"%t [%R] -> %m %U%q %H\" by default."
+ )
+ String request_log_entry_format() default REQUEST_LOG_ENTRY_FORMAT;
+
+ @AttributeDefinition(name = "Request Log Exit Format",
+ description = "The format of the request log. The request exit is logged "+
+ "with the format \"%{end}t [%R] <- %s %{Content-Type}o %Dms\" by default."
+ )
+ String request_log_exit_format() default REQUEST_LOG_EXIT_FORMAT;
+
@AttributeDefinition(name = "Enable Request Log",
description = "Whether to enable Request logging or not.")
boolean request_log_enabled() default true;
@AttributeDefinition(name = "Access Log Name",
description = "Name of the destination for the request log. "+
- "The access log writes an entry for each request as the request terminates "+
- "using the NCSA extended/combined log format. In terms of Request Logger "+
- "Service formats the access log is written with the format "+
- "\"%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"\".")
+ "The access log writes an entry for each request as the request terminates. "+
+ "The format of the access log can be configured by the Access Log Format setting.")
String access_log_output() default "logs/access.log";
@AttributeDefinition(name = "Access Log Type",
@@ -97,6 +105,13 @@ public class RequestLogger {
})
int access_log_outputtype() default 0;
+ @AttributeDefinition(name = "Access Log Format",
+ description = "The default format for the access log is using the NCSA extended/combined log "+
+ "format. In terms of Request Logger Service formats the access log is written with the format "+
+ "\"%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"\"."
+ )
+ String access_log_format() default ACCESS_LOG_FORMAT;
+
@AttributeDefinition(name = "Enable Access Log",
description = "Whether to enable Access logging or not.")
boolean access_log_enabled() default true;
@@ -135,14 +150,14 @@ public class RequestLogger {
// prepare the request loggers if a name is configured and the
// request loggers are enabled
if (config.request_log_output() != null && config.request_log_enabled()) {
- createRequestLoggerService(services, bundleContext, true, REQUEST_LOG_ENTRY_FORMAT, config.request_log_output(), config.request_log_outputtype());
- createRequestLoggerService(services, bundleContext, false, REQUEST_LOG_EXIT_FORMAT, config.request_log_output(), config.request_log_outputtype());
+ createRequestLoggerService(services, bundleContext, true, config.request_log_entry_format(), config.request_log_output(), config.request_log_outputtype());
+ createRequestLoggerService(services, bundleContext, false, config.request_log_exit_format(), config.request_log_output(), config.request_log_outputtype());
}
// prepare the access logger if a name is configured and the
// access logger is enabled
if (config.access_log_output() != null && config.access_log_enabled()) {
- createRequestLoggerService(services, bundleContext, false, ACCESS_LOG_FORMAT, config.access_log_output(), config.access_log_outputtype());
+ createRequestLoggerService(services, bundleContext, false, config.access_log_format(), config.access_log_output(), config.access_log_outputtype());
}
}