Ana içeriğe geç

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:

  1. Aşağıda görüldüğü şekilde HvlBpmnLogProvider paketi, dependency olarak eklenmelidir.
compile (
        [group: 'tr.com.havelsan.framework.bpmn', name: 'hvl-bpmn-log-provider']
)
  1. 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.