Compartilhar via


Criação de registradores de encaminhamento.

Registradores de encaminhamento de melhoram a eficiência do registro, permitindo que você escolha os eventos que você deseja monitorar ao construir projetos em um sistema com vários processadores.Habilitando o encaminhamento de registradores, você pode impedir que eventos indesejados de sobrecarregar o agente de log central, diminuindo o tempo de compilação e sobrecarregam o seu registro.

Para criar um agente de log de encaminhamento, você pode tanto implementar a IForwardingLogger de interface e implementar seus métodos manualmente ou usar o ConfigurableForwardingLogger classe e seus métodos pré-configurados.(Este último será suficiente para a maioria dos aplicativos.)

Registro de eventos e responder a elas

Um agente de log de encaminhamento reúne informações sobre eventos de compilação, conforme eles são relatados pelo mecanismo de compilação secundário, que é um processo de trabalho é criado pelo processo de compilação principal durante uma compilação em um sistema com vários processadores.Em seguida, o agente de log de encaminhamento seleciona eventos para encaminhar para o agente de log central, com base nas instruções que tenha dado a ele.

Você deve registrar os registradores de encaminhamento para manipular os eventos que você deseja monitorar.Para registrar eventos, registradores devem substituir o Initialize método.Esse método inclui agora um parâmetro opcional, nodecount, que pode ser definida como o número de processadores no sistema.(Por padrão, o valor é 1).

São exemplos de eventos, você pode monitorar TargetStarted, ProjectStarted, e ProjectFinished.

Em um ambiente com vários processadores, mensagens de evento serão provável que sejam recebidos fora de ordem.Portanto, você deve avaliar os eventos usando o manipulador de eventos em que o agente de log de encaminhamento e programá-lo para determinar quais eventos para passar para o redirecionador para encaminhamento para o agente de log central.Para fazer isso, você pode usar o BuildEventContext classe, o qual está associada a cada mensagem, para ajudar a identificar os eventos que você deseja encaminhar, e, em seguida, passar os nomes dos eventos para o ConfigurableForwardingLogger classe (ou uma subclasse dela).Quando você usa esse método, sem outros específicos codificação é necessária para encaminhar eventos.

Especifique um agente de log de encaminhamento

Depois que o agente de log de encaminhamento tiver sido compilado em um assembly, você deve informar o MSBuild para usá-lo durante a construção.Para fazer isso, use o /FileLogger, /FileLoggerParameters, e /DistributedFileLogger switches junto com o MSBuild. exe.O /FileLogger opção faz com que MSBuild. exe que o agente de log está diretamente conectado. O /DistributedFileLogger opção significa que há um arquivo de log por nó.Para definir os parâmetros do agente de log de encaminhamento, use o /FileLoggerParameters alternar.Para obter mais informações sobre essas e outras opções do MSBuild. exe, consulte Referência de linha de comando MSBuild.

Registradores de multi-processador-Aware

Quando você cria um projeto em um sistema com vários processadores, as mensagens de compilação de cada processador não são intercaladas automaticamente em uma seqüência unificada.Em vez disso, você deve estabelecer uma mensagem de prioridade de agrupamento, usando o BuildEventContext classe que está associada a cada mensagem.Para obter mais informações sobre como criar vários processadores, consulte Efetuando logon em um ambiente com vários processadores.

Consulte também

Conceitos

Obtendo logs de compilação com o MSBuild

Criar agentes de log

Efetuando logon em um ambiente com vários processadores