Compartilhar via


Criando Forwarding Loggers

Registradores de encaminhamento de melhoram a eficiência de registrar registrar registrar em log, permitindo que você escolher os eventos que você deseja monitor ao construir projetos em um sistema com vários processadores.Ativando o encaminhamento de registradores, você pode impedir que eventos indesejados de sobrecarregar o agente de log central, diminuindo o time de compilação e congestionar o arquivo de log.

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

Registro de eventos e responder a eles

Um agente de log de encaminhamento reúne informações sobre eventos de compilação quando 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 multi-processador sistema.O agente de log de encaminhamento, então, seleciona os eventos para encaminhar para o agente de log central, com base nas instruções que você concedeu.

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

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

Em multi-processador ambiente, as mensagens de evento serão provável que sejam recebidos fora de ordem.Portanto, você deve avaliar os eventos usando o manipulador de eventos no agente de log de encaminhamento e programá-lo para determinar quais eventos para passar para o redirecionador para encaminhamento central o agente de log.Para fazer isso, você pode usar o BuildEventContext classe, o qual está associada a cada mensagem, para ajudar a identificar 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, não há outros específicos codificação é necessária para encaminhar eventos.

Especifique um agente de log de encaminhamento

Depois do agente de log de encaminhamento ter sido compilado em um assembly, você deve dizer MSBuild para usá-lo durante as compilações. Para fazer isso, use o /FileLogger, /FileLoggerParameters, e /DistributedFileLogger switches com MSBuild.exe. The /FileLogger comutador informa MSBuild.exe o agente de log está diretamente conectado. O /DistributedFileLogger comutador significa que há um arquivo de log por nó. Para conjunto parâmetros do agente de log de encaminhamento, use o /FileLoggerParameters Alterne. Para obter mais informações sobre esses e outros switches MSBuild.exe, consulte Referência de linha de comando do MSBuild.

Registradores de múltiplo-processador-Aware

Quando você constrói 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 sequência unificada.Em vez disso, você deve estabelecer uma mensagem de agrupamento de prioridade, usando o BuildEventContext classe que é anexado a cada mensagem. Para obter mais informações sobre o edifício com vários processadores, consulte registrar registrar registrar em log em um ambiente Multi-processador.

Consulte também

Tarefas

Como: Escrever um agente de log

Conceitos

Visão geral do registrar em log no MSBuild

registrar registrar registrar em log em um ambiente Multi-processador