diff --git a/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/generic/server/DataStoreService.java b/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/generic/server/DataStoreService.java index d42fb085c42f50ca036de3d2b60c3b0cad9a0a0c..310b64f84a8095b971da10f8750c32318691276e 100644 --- a/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/generic/server/DataStoreService.java +++ b/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/generic/server/DataStoreService.java @@ -29,6 +29,7 @@ import ch.systemsx.cisd.cifex.rpc.client.ICIFEXComponent; import ch.systemsx.cisd.common.exceptions.InvalidAuthenticationException; import ch.systemsx.cisd.common.exceptions.InvalidSessionException; import ch.systemsx.cisd.common.spring.AbstractServiceWithLogger; +import ch.systemsx.cisd.common.spring.IInvocationLoggerContext; import ch.systemsx.cisd.openbis.dss.generic.server.plugins.tasks.IProcessingPluginTask; import ch.systemsx.cisd.openbis.dss.generic.server.plugins.tasks.IReportingPluginTask; import ch.systemsx.cisd.openbis.dss.generic.server.plugins.tasks.PluginTaskProvider; @@ -148,9 +149,9 @@ public class DataStoreService extends AbstractServiceWithLogger<IDataStoreServic commandExecuter.start(); } - public IDataStoreService createLogger(final boolean invocationSuccessful, final long elapsedTime) + public IDataStoreService createLogger(IInvocationLoggerContext context) { - return new DataStoreServiceLogger(operationLog, invocationSuccessful, elapsedTime); + return new DataStoreServiceLogger(operationLog, context); } public int getVersion(String sessionToken) diff --git a/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/generic/server/DataStoreServiceLogger.java b/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/generic/server/DataStoreServiceLogger.java index 909b6e22d666cc9c37c3f575d8f168e10868f0ef..982a089b01491614b52493bb05ecf187bcb2a06e 100644 --- a/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/generic/server/DataStoreServiceLogger.java +++ b/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/generic/server/DataStoreServiceLogger.java @@ -21,6 +21,7 @@ import java.util.List; import org.apache.log4j.Logger; import ch.systemsx.cisd.common.exceptions.InvalidAuthenticationException; +import ch.systemsx.cisd.common.spring.IInvocationLoggerContext; import ch.systemsx.cisd.openbis.generic.shared.IDataStoreService; import ch.systemsx.cisd.openbis.generic.shared.basic.dto.ExternalData; import ch.systemsx.cisd.openbis.generic.shared.basic.dto.TableModel; @@ -38,15 +39,12 @@ class DataStoreServiceLogger implements IDataStoreService private final Logger operationLog; - private final boolean invocationSuccessful; + private final IInvocationLoggerContext loggerContext; - private final long elapsedTime; - - DataStoreServiceLogger(Logger operationLog, boolean invocationSuccessful, long elapsedTime) + DataStoreServiceLogger(Logger operationLog, IInvocationLoggerContext context) { this.operationLog = operationLog; - this.invocationSuccessful = invocationSuccessful; - this.elapsedTime = elapsedTime; + this.loggerContext = context; } private final void log(final String commandName, final String parameterDisplayFormat, @@ -65,11 +63,11 @@ class DataStoreServiceLogger implements IDataStoreService } final String message = String.format(parameterDisplayFormat, parameters); final String invocationStatusMessage = - invocationSuccessful ? RESULT_SUCCESS : RESULT_FAILURE; + loggerContext.invocationWasSuccessful() ? RESULT_SUCCESS : RESULT_FAILURE; // We put on purpose 2 spaces between the command and the message derived from the // parameters. operationLog.info(String.format("%s %s%s (%s ms)", commandName, message, - invocationStatusMessage, elapsedTime)); + invocationStatusMessage, loggerContext.getElapsedTime())); } public int getVersion(String sessionToken)