Capítulo 14. Registro em Log
O mecanismo de registro em log permite que você armazene informações sobre a execução de uma instância de processo. Ele é fornecido por um ouvinte de eventos especial que ouve o Mecanismo de Processos para qualquer evento relevante a ser registrado em log. Assim, as informações podem ser armazenadas separadamente de outras informações sem log no banco de dados interno do servidor (h2) ou em uma fonte de dados conectada usando JPA ou Hibernate.
O módulo
jbpm-audit fornece o ouvinte de eventos e também permite que você armazene diretamente informações relacionadas ao processo em um banco de dados usando JPA ou Hibernate. Os dados das entidades abaixo são armazenados, como a seguir:
- Instância de processo, como
processinstancelog - Instância de elemento, como
nodeinstancelog - Instância de variável, como
variableinstancelog
| Campo | Descrição | Anulável |
|---|---|---|
|
id
|
Chave primária da entidade de log
|
Não
|
|
end_date
|
Data de término da instância do processo
|
Sim
|
|
processid
|
Nome (id) do processo subjacente
|
Sim
|
|
processinstanceid
|
Id da instância do processo
|
Não
|
|
start_date
|
Data de início da instância do processo
|
Sim
|
|
status
|
Status da instância do processo
|
Sim
|
|
parentProcessInstanceId
|
Id da instância do processo da instância do processo pai, caso aplicável
|
Sim
|
|
outcome
|
Resultado da instância do processo (detalhes sobre a conclusão do processo, como código de erro)
|
Sim
|
| Campo | Descrição | Anulável |
|---|---|---|
|
id
|
Chave primária da entidade de log
|
Não
|
|
log_date
|
Data do evento
|
Sim
|
|
nodeid
|
Id do nó do elemento de processo subjacente
|
Sim
|
|
nodeinstanceid
|
Id da instância do nó
|
Sim
|
|
nodename
|
Nome do nó subjacente
|
Sim
|
|
processid
|
Id do processo subjacente
|
Sim
|
|
processinstanceid
|
Id da instância do processo pai
|
Não
|
|
type
|
Tipo de evento (
0 = evento de entrada, 1 = evento de saída)
|
Não
|
| Campo | Descrição | Anulável |
|---|---|---|
|
id
|
Chave primária da entidade de log
|
Não
|
|
log_date
|
Data do evento
|
Sim
|
|
processid
|
Nome (id) do processo subjacente
|
Sim
|
|
processinstanceid
|
Id da instância do processo
|
Não
|
|
value
|
Valor da variável na hora do log
|
Sim
|
|
variableid
|
Id da variável estabelecida na definição do processo
|
Sim
|
|
variableinstanceid
|
Id da instância da variável
|
Sim
|
|
outcome
|
Resultado da instância do processo (detalhes sobre a conclusão do processo, como código de erro)
|
Sim
|
Se necessário, defina seu próprio modelo de dados das informações personalizadas e use os ouvintes de eventos do processo para extrair as informações.
14.1. Registrando Eventos no Log do Banco de Dados Copiar o linkLink copiado para a área de transferência!
Copiar o linkLink copiado para a área de transferência!
Para registrar um evento que ocorre durante o tempo de execução em uma instância de processo, uma instância de elemento ou uma instância de variável, siga as instruções a seguir:
- Mapeie as classes de log na fonte de dados para que a fonte de dados fornecida aceite as entradas de log. No Red Hat JBoss EAP, edite as propriedades da fonte de dados no arquivo
persistence.xml.Exemplo 14.1. Classes ProcessInstanceLog, NodeInstanceLog e VariableInstanceLog habilitadas por processInstanceDS
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - Registre um agente na sua Sessão Kie.
Exemplo 14.2. Importando os Agentes
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Exemplo 14.3. Registrando um Agente a uma Sessão Kie
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - Facultativamente, chame o método
addFilterno agente para remover as informações irrelevantes. Apenas as informações aceitas por todos os filtros aparecem no banco de dados. - As classes do agente podem ser exibidas no Modo de Exibição de Auditoria:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow