4.10. Süreç Adımlarını Loglama#
BPMN uygulaması, Logger uygulaması ile entegre çalışarak istenilen süreç adımlarının loglanmasını sağlar. Başlatılan süreç oluşumları için tarihçe kaydı tutulması gibi bir ihtiyaç olması durumunda kullanılacak yapıdır. Kullanım adımları şu şekildedir:
- Aşağıda görüldüğü şekilde
HvlBpmnLogProvider
paketi, dependency olarak eklenmelidir.
- Ardından aşağıda görüldüğü gibi; loglanması istenen süreç adımının çalıştığı aşamada log metodu çağırılır.
import tr.com.havelsan.javarch.bpmn.log.producer.service.HvlBpmnLogProviderService;
...
private final HvlBpmnLogProviderService bpmnLogProducerProvider;
...
final HvlBpmnProcessInstanceModel processInstance =
runtimeService.startProcessInstanceByKey("process_key", startProcessInstanceModel);
final String processInstanceId = processInstance.getProcessInstanceId();
final HvlBpmnExecutionVariableQueryModel variableQueryModel = new HvlBpmnExecutionVariableQueryModel();
variableQueryModel.setExecutionId(processInstanceId);
variableQueryModel.setVariableName("process_payload");
final Map<String, Object> payload = runtimeService.getVariable(variableQueryModel, Map.class);
payload.put("process_instance_id", processInstanceId);
runtimeService.setVariable(processInstanceId, "process_payload", payload, false);
bpmnLogProducerProvider.log(HvlBpmnLogModelBuilder.create(businessKey,
processInstanceId,
"message",
HvlBpmnLogLevel.INFO).build());
Önemli Not
Örnekte süreç başlatma adımında (startProcessInstanceByKey
) loglama yapılmıştır. İhtiyaca göre complete metodunun (süreç adımı ilerletme) ardından da aynı şekilde log metodu çağırılabilir.