diff --git a/modules/transports/core/nhttp/src/main/java/org/apache/synapse/transport/http/access/Access.java b/modules/transports/core/nhttp/src/main/java/org/apache/synapse/transport/http/access/Access.java index 0cc3ee469d..cf277f5d4a 100644 --- a/modules/transports/core/nhttp/src/main/java/org/apache/synapse/transport/http/access/Access.java +++ b/modules/transports/core/nhttp/src/main/java/org/apache/synapse/transport/http/access/Access.java @@ -149,7 +149,9 @@ public void log(HttpRequest request, HttpResponse response) { } String logString = result.toString(); log.debug(logString); //log to the console - accessLogger.log(logString); //log to the file + if (accessLogger.isLoggingEnabled) { + accessLogger.log(logString); //log to the file + } } /** @@ -873,6 +875,8 @@ public void log(HttpRequestWrapper request, HttpResponseWrapper response) { } String logString = result.toString(); log.debug(logString); //log to the console - accessLogger.log(logString); //log to the file + if (accessLogger.isLoggingEnabled) { + accessLogger.log(logString); //log to the file + } } } diff --git a/modules/transports/core/nhttp/src/main/java/org/apache/synapse/transport/http/access/AccessConstants.java b/modules/transports/core/nhttp/src/main/java/org/apache/synapse/transport/http/access/AccessConstants.java index 19971c437a..2748da1000 100644 --- a/modules/transports/core/nhttp/src/main/java/org/apache/synapse/transport/http/access/AccessConstants.java +++ b/modules/transports/core/nhttp/src/main/java/org/apache/synapse/transport/http/access/AccessConstants.java @@ -75,6 +75,8 @@ public class AccessConstants { public static final String CONFIG_FILE_DATE_FORMAT = "access_log_file_date_format"; + public static final String CONFIG_ENABLE_LOGGING = "access_log_enable"; + public static String getLogPattern() { return AccessConfiguration.getInstance().getStringProperty(CONFIG_PATTERN, LOG_PATTERN); diff --git a/modules/transports/core/nhttp/src/main/java/org/apache/synapse/transport/http/access/AccessLogger.java b/modules/transports/core/nhttp/src/main/java/org/apache/synapse/transport/http/access/AccessLogger.java index 9f97b84ad5..46d525d9bb 100644 --- a/modules/transports/core/nhttp/src/main/java/org/apache/synapse/transport/http/access/AccessLogger.java +++ b/modules/transports/core/nhttp/src/main/java/org/apache/synapse/transport/http/access/AccessLogger.java @@ -41,6 +41,8 @@ import java.util.regex.Matcher; import java.util.regex.Pattern; +import static org.apache.synapse.transport.http.access.AccessConstants.CONFIG_ENABLE_LOGGING; + /** * Class that logs the Http Accesses to the access log files. Code segment borrowed from * Apache Tomcat's org.apache.catalina.valves.AccessLogValve with thanks. @@ -64,7 +66,9 @@ public class AccessLogger { public AccessLogger(final Log log) { super(); - this.initOpen(); + if (isLoggingEnabled) { + this.initOpen(); + } AccessLogger.log = log; buffered = true; checkExists = false; @@ -114,6 +118,11 @@ public AccessLogger(final Log log) { */ private boolean isRotatable = getBooleanValue(IS_LOG_ROTATABLE, true); + /** + * Enable logging. + */ + public boolean isLoggingEnabled = getBooleanValue(CONFIG_ENABLE_LOGGING, true); + /** * Log the specified message to the log file, switching files if the date * has changed since the previous log call.