Registo de logs

Para monitorizar algoritmos de negociação escritos em S#, pode utilizar a classe especial LogManager. Esta classe recebe as mensagens LogMessage de LogManager.Sources através do evento ILogSource.Log e passa-as para os listeners LogManager.Listeners. Assim, o código do algoritmo poderá passar informação de depuração (por exemplo, sobre erros ocorridos durante a operação ou informação adicional sobre cálculos matemáticos) e o LogManager decidirá como apresentar esta informação ao operador.

Normalmente, o S# contém as seguintes implementações de ILogListener, cuja escolha afecta o destino das mensagens recebidas das estratégias:

  1. FileLogListener - escreve mensagens num ficheiro de texto. Recomenda-se a sua utilização em algoritmos já criados e para usar os logs em casos de força maior.
  2. ConsoleLogListener - escreve mensagens na janela da consola (se o algoritmo não tiver uma janela, esta será criada automaticamente). Recomenda-se a sua utilização para depuração e teste do algoritmo.
  3. DebugLogListener - escreve mensagens na janela de depuração. Esta janela pode ser vista através de programas especiais como DebugView. Recomenda-se a sua utilização para depuração e teste do algoritmo.
  4. EmailLogListener - envia mensagens para o endereço de email especificado. Recomenda-se a sua utilização se o algoritmo estiver localizado num computador não controlado (no servidor de um alojador).
  5. GuiLogListener - apresenta mensagens através da janela especial LogControl. Pode trabalhar em dois modos: quando todas as mensagens são apresentadas numa única janela e quando é criada uma janela separada para cada ILogSource. Recomenda-se a sua utilização se o algoritmo tiver uma interface gráfica.

LogListener pode ser configurado para filtrar mensagens através da propriedade LogListener.Filters. Por exemplo, através dos filtros pode especificar que tipo de mensagens deve ser processado. Isto é particularmente útil quando é utilizado EmailLogListener, para, por exemplo, enviar email apenas em situações de emergência (erro do algoritmo de negociação), em vez de o fazer para cada mensagem de depuração.

Próximos Passos

Logging de estratégia

Logging de IConnector

Outras fontes de logs

Monitorização visual

Criação de ILogListener