Salvando logs de usuário

Bom dia, estou pensando em como fazer relatórios de log de usuários mais facilmente, hoje realizo o log em cada botão de ação, por exemplo, se um usuário modificar um setpoint de temperatura, quando ele clicar para confirmar a modificação eu executo um script no botão que realiza o salvamento no banco de dados dos dados necessário, como, usuário logado, tag que foi modificada, valor antigo, valor novo e data/hora.

Porém isso está me gerando muito trabalho para fazer em todos os botões de ação que o usuário toma no sistema, estou pensando em um modo mais fácil para realizar esse processo.

O que pensei é criar uma tag auxiliar na pasta dados para cada tag principal que eu gostaria de salvar em banco, e que cada tag auxiliar teria um script padrão para esse salvamento, e esse script seria executando quando o dado da tag principal é modificado, assim eu só precisaria copiar a tag auxiliar com o script padrão e modificar a tag principal que executaria o script.

Estou postando aqui para verificar com a comunidade se já realizam esse processo de outra forma que seja mais rápida de ser feita.

Agradeço a ajuda.

Bom dia Felipe,

Neste caso, o recomendado seria utilizar o método TrackEvent do Viewer, que permite gerar eventos via script manualmente.
TrackEvent(EventMessage, [Comment], [EventTimeStamp])

Para maiores informações consulte o seguinte artigo:
Armazenamento de Eventos.

Para otimizar o desenvolvimento, uma sugestão seria inserir o script para gravação em um objeto XControl.
Para o exemplo abaixo utilizando um setpoint, seria necessário criar uma propriedade para inserir o PathName do tag desejado:

If User = "" then
	User = "Anônimo"
End if

Tag = Application.GetObject("Data.Tag1").PathName
Application.TrackEvent "Valor alterado em tag  " & Tag & " de " & Value & " para " & NewValue & " pelo usuário: " & User

Depois você poderia instanciar o objeto XControl, e alterar a propriedade PathName dependendo do tag a ser utilizado.

Se tiver dúvidas com relação a implementação, envie sua aplicação para delio@elipse.com.br.

Boa tarde Délio,

Muito interessante esse método, vou implementa-lo a minha aplicação e retorno falando como foi.

Agradeço o apoio.