Skip to content
This repository was archived by the owner on Oct 6, 2025. It is now read-only.

Commit 103b2c0

Browse files
committed
additional logging
1 parent 3d10fac commit 103b2c0

12 files changed

Lines changed: 111 additions & 20 deletions

File tree

codex-process-data-transfer/src/main/java/de/netzwerk_universitaetsmedizin/codex/processes/data_transfer/logging/ErrorLogger.java

Lines changed: 27 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -7,11 +7,35 @@
77
public class ErrorLogger
88
{
99
private static final Logger validationLogger = LoggerFactory.getLogger("validation-error-logger");
10+
private static final Logger errorLogger = LoggerFactory.getLogger("error-logger");
1011

1112
public void logValidationFailed(IdType taskId)
1213
{
13-
validationLogger.debug(
14-
"Validation of FHIR resources faild during execution of data-send process started by Task {}",
15-
taskId.getValue());
14+
validationLogger.debug("Validation of FHIR resources failed, started by Task {}", taskId.getValue());
15+
}
16+
17+
public void logValidationFailedLocal(IdType taskId)
18+
{
19+
validationLogger.debug("Local validation of FHIR resources failed, started by Task {}", taskId.getValue());
20+
}
21+
22+
public void logValidationFailedRemote(IdType taskId)
23+
{
24+
validationLogger.debug("Remote validation of FHIR resources failed, started by Task {}", taskId.getValue());
25+
}
26+
27+
public void logDataSendFailed(IdType taskId)
28+
{
29+
errorLogger.debug("Send process failed, started by Task {}", taskId.getValue());
30+
}
31+
32+
public void logDataTranslateFailed(IdType taskId)
33+
{
34+
errorLogger.debug("Translate process failed, started by Task {}", taskId.getValue());
35+
}
36+
37+
public void logDataReceiveFailed(IdType taskId)
38+
{
39+
errorLogger.debug("Receive process failed, started by Task {}", taskId.getValue());
1640
}
1741
}

codex-process-data-transfer/src/main/java/de/netzwerk_universitaetsmedizin/codex/processes/data_transfer/service/receive/LogError.java

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,26 +14,31 @@
1414
import org.highmed.dsf.fhir.authorization.read.ReadAccessHelper;
1515
import org.highmed.dsf.fhir.client.FhirWebserviceClientProvider;
1616
import org.highmed.dsf.fhir.task.TaskHelper;
17+
import org.hl7.fhir.r4.model.ResourceType;
1718
import org.hl7.fhir.r4.model.Task;
1819
import org.hl7.fhir.r4.model.Task.TaskOutputComponent;
1920
import org.hl7.fhir.r4.model.Task.TaskStatus;
2021
import org.slf4j.Logger;
2122
import org.slf4j.LoggerFactory;
2223

2324
import de.netzwerk_universitaetsmedizin.codex.processes.data_transfer.error.ErrorOutputParameterGenerator;
25+
import de.netzwerk_universitaetsmedizin.codex.processes.data_transfer.logging.ErrorLogger;
2426

2527
public class LogError extends AbstractServiceDelegate
2628
{
2729
private static final Logger logger = LoggerFactory.getLogger(LogError.class);
2830

2931
private final ErrorOutputParameterGenerator errorOutputParameterGenerator;
32+
private final ErrorLogger errorLogger;
3033

3134
public LogError(FhirWebserviceClientProvider clientProvider, TaskHelper taskHelper,
32-
ReadAccessHelper readAccessHelper, ErrorOutputParameterGenerator errorOutputParameterGenerator)
35+
ReadAccessHelper readAccessHelper, ErrorOutputParameterGenerator errorOutputParameterGenerator,
36+
ErrorLogger errorLogger)
3337
{
3438
super(clientProvider, taskHelper, readAccessHelper);
3539

3640
this.errorOutputParameterGenerator = errorOutputParameterGenerator;
41+
this.errorLogger = errorLogger;
3742
}
3843

3944
@Override
@@ -42,6 +47,7 @@ public void afterPropertiesSet() throws Exception
4247
super.afterPropertiesSet();
4348

4449
Objects.requireNonNull(errorOutputParameterGenerator, "errorOutputParameterGenerator");
50+
Objects.requireNonNull(errorLogger, "errorLogger");
4551
}
4652

4753
@Override
@@ -63,6 +69,11 @@ protected void doExecute(DelegateExecution execution) throws BpmnError, Exceptio
6369
errorCode, errorMessage);
6470

6571
task.addOutput(output);
72+
73+
logger.warn("Error while transfering data to CRR: {} - {}", errorCode, errorMessage);
74+
75+
errorLogger.logDataReceiveFailed(getLeadingTaskFromExecutionVariables().getIdElement()
76+
.withServerBase(getFhirWebserviceClientProvider().getLocalBaseUrl(), ResourceType.Task.name()));
6677
}
6778
}
6879
}

codex-process-data-transfer/src/main/java/de/netzwerk_universitaetsmedizin/codex/processes/data_transfer/service/receive/LogValidationError.java

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,25 +13,30 @@
1313
import org.hl7.fhir.r4.model.Bundle;
1414
import org.hl7.fhir.r4.model.OperationOutcome;
1515
import org.hl7.fhir.r4.model.OperationOutcome.IssueSeverity;
16+
import org.hl7.fhir.r4.model.ResourceType;
1617
import org.hl7.fhir.r4.model.Task;
1718
import org.hl7.fhir.r4.model.Task.TaskStatus;
1819
import org.slf4j.Logger;
1920
import org.slf4j.LoggerFactory;
2021

2122
import de.netzwerk_universitaetsmedizin.codex.processes.data_transfer.error.ErrorOutputParameterGenerator;
23+
import de.netzwerk_universitaetsmedizin.codex.processes.data_transfer.logging.ErrorLogger;
2224

2325
public class LogValidationError extends AbstractServiceDelegate
2426
{
2527
private static final Logger logger = LoggerFactory.getLogger(LogValidationError.class);
2628

2729
private final ErrorOutputParameterGenerator errorOutputParameterGenerator;
30+
private final ErrorLogger errorLogger;
2831

2932
public LogValidationError(FhirWebserviceClientProvider clientProvider, TaskHelper taskHelper,
30-
ReadAccessHelper readAccessHelper, ErrorOutputParameterGenerator errorOutputParameterGenerator)
33+
ReadAccessHelper readAccessHelper, ErrorOutputParameterGenerator errorOutputParameterGenerator,
34+
ErrorLogger errorLogger)
3135
{
3236
super(clientProvider, taskHelper, readAccessHelper);
3337

3438
this.errorOutputParameterGenerator = errorOutputParameterGenerator;
39+
this.errorLogger = errorLogger;
3540
}
3641

3742
@Override
@@ -40,11 +45,16 @@ public void afterPropertiesSet() throws Exception
4045
super.afterPropertiesSet();
4146

4247
Objects.requireNonNull(errorOutputParameterGenerator, "errorOutputParameterGenerator");
48+
Objects.requireNonNull(errorLogger, "errorLogger");
4349
}
4450

4551
@Override
4652
protected void doExecute(DelegateExecution execution) throws BpmnError, Exception
4753
{
54+
logger.info("Validation error while adding resources to CRR FHIR repository");
55+
errorLogger.logValidationFailed(getLeadingTaskFromExecutionVariables().getIdElement()
56+
.withServerBase(getFhirWebserviceClientProvider().getLocalBaseUrl(), ResourceType.Task.name()));
57+
4858
logger.debug("Setting Task.status failed, adding validation errors");
4959

5060
Task task = getLeadingTaskFromExecutionVariables();

codex-process-data-transfer/src/main/java/de/netzwerk_universitaetsmedizin/codex/processes/data_transfer/service/send/LogError.java

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,26 +14,31 @@
1414
import org.highmed.dsf.fhir.authorization.read.ReadAccessHelper;
1515
import org.highmed.dsf.fhir.client.FhirWebserviceClientProvider;
1616
import org.highmed.dsf.fhir.task.TaskHelper;
17+
import org.hl7.fhir.r4.model.ResourceType;
1718
import org.hl7.fhir.r4.model.Task;
1819
import org.hl7.fhir.r4.model.Task.TaskOutputComponent;
1920
import org.hl7.fhir.r4.model.Task.TaskStatus;
2021
import org.slf4j.Logger;
2122
import org.slf4j.LoggerFactory;
2223

2324
import de.netzwerk_universitaetsmedizin.codex.processes.data_transfer.error.ErrorOutputParameterGenerator;
25+
import de.netzwerk_universitaetsmedizin.codex.processes.data_transfer.logging.ErrorLogger;
2426

2527
public class LogError extends AbstractServiceDelegate
2628
{
2729
private static final Logger logger = LoggerFactory.getLogger(LogError.class);
2830

2931
private final ErrorOutputParameterGenerator errorOutputParameterGenerator;
32+
private final ErrorLogger errorLogger;
3033

3134
public LogError(FhirWebserviceClientProvider clientProvider, TaskHelper taskHelper,
32-
ReadAccessHelper readAccessHelper, ErrorOutputParameterGenerator errorOutputParameterGenerator)
35+
ReadAccessHelper readAccessHelper, ErrorOutputParameterGenerator errorOutputParameterGenerator,
36+
ErrorLogger errorLogger)
3337
{
3438
super(clientProvider, taskHelper, readAccessHelper);
3539

3640
this.errorOutputParameterGenerator = errorOutputParameterGenerator;
41+
this.errorLogger = errorLogger;
3742
}
3843

3944
@Override
@@ -42,6 +47,7 @@ public void afterPropertiesSet() throws Exception
4247
super.afterPropertiesSet();
4348

4449
Objects.requireNonNull(errorOutputParameterGenerator, "errorOutputParameterGenerator");
50+
Objects.requireNonNull(errorLogger, "errorLogger");
4551
}
4652

4753
@Override
@@ -63,6 +69,11 @@ protected void doExecute(DelegateExecution execution) throws BpmnError, Exceptio
6369
errorCode, errorMessage);
6470

6571
task.addOutput(output);
72+
73+
logger.warn("Error while transfering data to CRR: {} - {}", errorCode, errorMessage);
74+
75+
errorLogger.logDataReceiveFailed(getLeadingTaskFromExecutionVariables().getIdElement()
76+
.withServerBase(getFhirWebserviceClientProvider().getLocalBaseUrl(), ResourceType.Task.name()));
6677
}
6778
}
6879
}

codex-process-data-transfer/src/main/java/de/netzwerk_universitaetsmedizin/codex/processes/data_transfer/service/send/LogSuccess.java

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,6 @@ public LogSuccess(FhirWebserviceClientProvider clientProvider, TaskHelper taskHe
2222
@Override
2323
protected void doExecute(DelegateExecution execution) throws BpmnError, Exception
2424
{
25-
// TODO log success
26-
logger.debug("TODO log success");
25+
logger.info("All resources successfully added to CRR FHIR repository");
2726
}
2827
}

codex-process-data-transfer/src/main/java/de/netzwerk_universitaetsmedizin/codex/processes/data_transfer/service/send/LogValidationError.java

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,26 +18,31 @@
1818
import org.hl7.fhir.r4.model.OperationOutcome;
1919
import org.hl7.fhir.r4.model.OperationOutcome.IssueSeverity;
2020
import org.hl7.fhir.r4.model.OperationOutcome.OperationOutcomeIssueComponent;
21+
import org.hl7.fhir.r4.model.ResourceType;
2122
import org.hl7.fhir.r4.model.StringType;
2223
import org.hl7.fhir.r4.model.Task;
2324
import org.hl7.fhir.r4.model.Task.TaskStatus;
2425
import org.slf4j.Logger;
2526
import org.slf4j.LoggerFactory;
2627

2728
import de.netzwerk_universitaetsmedizin.codex.processes.data_transfer.error.ErrorOutputParameterGenerator;
29+
import de.netzwerk_universitaetsmedizin.codex.processes.data_transfer.logging.ErrorLogger;
2830

2931
public class LogValidationError extends AbstractServiceDelegate
3032
{
3133
private static final Logger logger = LoggerFactory.getLogger(LogValidationError.class);
3234

3335
private final ErrorOutputParameterGenerator errorOutputParameterGenerator;
36+
private final ErrorLogger errorLogger;
3437

3538
public LogValidationError(FhirWebserviceClientProvider clientProvider, TaskHelper taskHelper,
36-
ReadAccessHelper readAccessHelper, ErrorOutputParameterGenerator errorOutputParameterGenerator)
39+
ReadAccessHelper readAccessHelper, ErrorOutputParameterGenerator errorOutputParameterGenerator,
40+
ErrorLogger errorLogger)
3741
{
3842
super(clientProvider, taskHelper, readAccessHelper);
3943

4044
this.errorOutputParameterGenerator = errorOutputParameterGenerator;
45+
this.errorLogger = errorLogger;
4146
}
4247

4348
@Override
@@ -46,17 +51,22 @@ public void afterPropertiesSet() throws Exception
4651
super.afterPropertiesSet();
4752

4853
Objects.requireNonNull(errorOutputParameterGenerator, "errorOutputParameterGenerator");
54+
Objects.requireNonNull(errorLogger, "errorLogger");
4955
}
5056

5157
@Override
5258
protected void doExecute(DelegateExecution execution) throws BpmnError, Exception
5359
{
60+
logger.info("Validation error while adding resources to CRR FHIR repository");
61+
5462
Bundle bundle = (Bundle) execution.getVariable(BPMN_EXECUTION_VARIABLE_BUNDLE);
5563

5664
@SuppressWarnings("unchecked")
5765
Map<String, String> sourceIdsByBundleUuid = (Map<String, String>) execution
5866
.getVariable(BPMN_EXECUTION_VARIABLE_SOURCE_IDS_BY_BUNDLE_UUID);
5967

68+
errorLogger.logValidationFailedRemote(getLeadingTaskFromExecutionVariables().getIdElement()
69+
.withServerBase(getFhirWebserviceClientProvider().getLocalBaseUrl(), ResourceType.Task.name()));
6070
logValidationDetails(bundle, sourceIdsByBundleUuid);
6171
addErrorsToTask(bundle, sourceIdsByBundleUuid);
6272
}

codex-process-data-transfer/src/main/java/de/netzwerk_universitaetsmedizin/codex/processes/data_transfer/service/send/ValidateData.java

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@
2323
import org.hl7.fhir.r4.model.OperationOutcome;
2424
import org.hl7.fhir.r4.model.OperationOutcome.IssueSeverity;
2525
import org.hl7.fhir.r4.model.OperationOutcome.OperationOutcomeIssueComponent;
26+
import org.hl7.fhir.r4.model.ResourceType;
2627
import org.hl7.fhir.r4.model.StringType;
2728
import org.hl7.fhir.r4.model.Task;
2829
import org.slf4j.Logger;
@@ -112,9 +113,9 @@ protected void doExecute(DelegateExecution execution) throws BpmnError, Exceptio
112113
resourcesWithErrorCount, resourcesWithErrorCount != 1 ? "s" : "");
113114

114115
addErrorsToTask(bundle);
115-
errorLogger.logValidationFailed(getLeadingTaskFromExecutionVariables().getIdElement()
116-
.withServerBase(getFhirWebserviceClientProvider().getLocalBaseUrl(),
117-
getLeadingTaskFromExecutionVariables().getIdElement().getResourceType()));
116+
errorLogger.logValidationFailedLocal(
117+
getLeadingTaskFromExecutionVariables().getIdElement().withServerBase(
118+
getFhirWebserviceClientProvider().getLocalBaseUrl(), ResourceType.Task.name()));
118119

119120
throw new BpmnError(CODESYSTEM_NUM_CODEX_DATA_TRANSFER_ERROR_VALUE_VALIDATION_FAILED,
120121
"Validation of transfer bundle failed, " + resourcesWithErrorCount + " resource"

codex-process-data-transfer/src/main/java/de/netzwerk_universitaetsmedizin/codex/processes/data_transfer/service/translate/LogError.java

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,26 +14,31 @@
1414
import org.highmed.dsf.fhir.authorization.read.ReadAccessHelper;
1515
import org.highmed.dsf.fhir.client.FhirWebserviceClientProvider;
1616
import org.highmed.dsf.fhir.task.TaskHelper;
17+
import org.hl7.fhir.r4.model.ResourceType;
1718
import org.hl7.fhir.r4.model.Task;
1819
import org.hl7.fhir.r4.model.Task.TaskOutputComponent;
1920
import org.hl7.fhir.r4.model.Task.TaskStatus;
2021
import org.slf4j.Logger;
2122
import org.slf4j.LoggerFactory;
2223

2324
import de.netzwerk_universitaetsmedizin.codex.processes.data_transfer.error.ErrorOutputParameterGenerator;
25+
import de.netzwerk_universitaetsmedizin.codex.processes.data_transfer.logging.ErrorLogger;
2426

2527
public class LogError extends AbstractServiceDelegate
2628
{
2729
private static final Logger logger = LoggerFactory.getLogger(LogError.class);
2830

2931
private final ErrorOutputParameterGenerator errorOutputParameterGenerator;
32+
private final ErrorLogger errorLogger;
3033

3134
public LogError(FhirWebserviceClientProvider clientProvider, TaskHelper taskHelper,
32-
ReadAccessHelper readAccessHelper, ErrorOutputParameterGenerator errorOutputParameterGenerator)
35+
ReadAccessHelper readAccessHelper, ErrorOutputParameterGenerator errorOutputParameterGenerator,
36+
ErrorLogger errorLogger)
3337
{
3438
super(clientProvider, taskHelper, readAccessHelper);
3539

3640
this.errorOutputParameterGenerator = errorOutputParameterGenerator;
41+
this.errorLogger = errorLogger;
3742
}
3843

3944
@Override
@@ -42,6 +47,7 @@ public void afterPropertiesSet() throws Exception
4247
super.afterPropertiesSet();
4348

4449
Objects.requireNonNull(errorOutputParameterGenerator, "errorOutputParameterGenerator");
50+
Objects.requireNonNull(errorLogger, "errorLogger");
4551
}
4652

4753
@Override
@@ -63,6 +69,11 @@ protected void doExecute(DelegateExecution execution) throws BpmnError, Exceptio
6369
errorCode, errorMessage);
6470

6571
task.addOutput(output);
72+
73+
logger.warn("Error while transfering data to CRR: {} - {}", errorCode, errorMessage);
74+
75+
errorLogger.logDataReceiveFailed(getLeadingTaskFromExecutionVariables().getIdElement()
76+
.withServerBase(getFhirWebserviceClientProvider().getLocalBaseUrl(), ResourceType.Task.name()));
6677
}
6778
}
6879
}

codex-process-data-transfer/src/main/java/de/netzwerk_universitaetsmedizin/codex/processes/data_transfer/service/translate/LogValidationError.java

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,25 +11,30 @@
1111
import org.highmed.dsf.fhir.authorization.read.ReadAccessHelper;
1212
import org.highmed.dsf.fhir.client.FhirWebserviceClientProvider;
1313
import org.highmed.dsf.fhir.task.TaskHelper;
14+
import org.hl7.fhir.r4.model.ResourceType;
1415
import org.hl7.fhir.r4.model.Task;
1516
import org.hl7.fhir.r4.model.Task.TaskOutputComponent;
1617
import org.slf4j.Logger;
1718
import org.slf4j.LoggerFactory;
1819

1920
import de.netzwerk_universitaetsmedizin.codex.processes.data_transfer.error.ErrorOutputParameterGenerator;
21+
import de.netzwerk_universitaetsmedizin.codex.processes.data_transfer.logging.ErrorLogger;
2022

2123
public class LogValidationError extends AbstractServiceDelegate
2224
{
2325
private static final Logger logger = LoggerFactory.getLogger(LogValidationError.class);
2426

2527
private final ErrorOutputParameterGenerator errorOutputParameterGenerator;
28+
private final ErrorLogger errorLogger;
2629

2730
public LogValidationError(FhirWebserviceClientProvider clientProvider, TaskHelper taskHelper,
28-
ReadAccessHelper readAccessHelper, ErrorOutputParameterGenerator errorOutputParameterGenerator)
31+
ReadAccessHelper readAccessHelper, ErrorOutputParameterGenerator errorOutputParameterGenerator,
32+
ErrorLogger errorLogger)
2933
{
3034
super(clientProvider, taskHelper, readAccessHelper);
3135

3236
this.errorOutputParameterGenerator = errorOutputParameterGenerator;
37+
this.errorLogger = errorLogger;
3338
}
3439

3540
@Override
@@ -38,12 +43,15 @@ public void afterPropertiesSet() throws Exception
3843
super.afterPropertiesSet();
3944

4045
Objects.requireNonNull(errorOutputParameterGenerator, "errorOutputParameterGenerator");
46+
Objects.requireNonNull(errorLogger, "errorLogger");
4147
}
4248

4349
@Override
4450
protected void doExecute(DelegateExecution execution) throws BpmnError, Exception
4551
{
4652
logger.info("Validation error while adding resources to CRR FHIR repository");
53+
errorLogger.logValidationFailedRemote(getLeadingTaskFromExecutionVariables().getIdElement()
54+
.withServerBase(getFhirWebserviceClientProvider().getLocalBaseUrl(), ResourceType.Task.name()));
4755

4856
Task task = getLeadingTaskFromExecutionVariables();
4957
TaskOutputComponent output = errorOutputParameterGenerator.createError(

codex-process-data-transfer/src/main/java/de/netzwerk_universitaetsmedizin/codex/processes/data_transfer/spring/config/ReceiveConfig.java

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -66,7 +66,8 @@ public LogSuccess logSuccess()
6666
public LogValidationError logValidationError()
6767
{
6868
return new LogValidationError(transferDataConfig.fhirClientProvider(), transferDataConfig.taskHelper(),
69-
transferDataConfig.readAccessHelper(), transferDataConfig.errorOutputParameterGenerator());
69+
transferDataConfig.readAccessHelper(), transferDataConfig.errorOutputParameterGenerator(),
70+
transferDataConfig.errorLogger());
7071
}
7172

7273
@Bean
@@ -112,6 +113,7 @@ public ContinueTranslateProcessWithError continueTranslateProcessWithError()
112113
public LogError logError()
113114
{
114115
return new LogError(transferDataConfig.fhirClientProvider(), transferDataConfig.taskHelper(),
115-
transferDataConfig.readAccessHelper(), transferDataConfig.errorOutputParameterGenerator());
116+
transferDataConfig.readAccessHelper(), transferDataConfig.errorOutputParameterGenerator(),
117+
transferDataConfig.errorLogger());
116118
}
117119
}

0 commit comments

Comments
 (0)