Compartilhar via


Obtendo logs de compilação com o MSBuild

Usando opções com MSBuild, você pode especificar quantos dados de compilação que você deseja examinar e se você deseja salvar dados de compilação a um ou mais arquivos. Você também pode especificar um registador personalizado para coletar dados de compilação. Para obter informações sobre opções de linha de comando MSBuild que este tópico não aborda, consulte Referência de linha de comando MSBuild.

Dica

Se você criar projetos usando o IDE do Visual Studio, você pode solucionar problemas dessas compilações examinando logs de compilação.Para obter mais informações, consulte Como ver, salvar e configurar arquivos de log de compilação.

Definindo o nível de detalhes

Quando você cria um projeto usando MSBuild sem especificar um nível de detalhe, as seguintes informações aparece no log de saída:

  • Erros, avisos e mensagens, que são categorizados como altamente importantes.

  • Alguns eventos de status.

  • Um resumo de compilação.

Usando a opção de /verbosity (/v), você pode controlar a quantidade de dados aparecem no log de saída. Para solucionar, use uma verbosidade em nível de detailed (d) ou de diagnostic (diag), que fornece as informações.

O processo de compilação pode ser mais lento quando você define /verbosity a detailed e ainda mais lento quando você define /verbosity a diagnostic.

msbuild MyProject.proj /t:go /v:diag

Salvando o log de compilação para um arquivo

Você pode usar a opção de /fileLogger (fl) para salvar dados de compilação para um arquivo. O exemplo a seguir salva dados de compilação para um arquivo chamado msbuild.log.

msbuild MyProject.proj /t:go /fileLogger

No exemplo a seguir, o arquivo de log é chamado MyProjectOutput.log, e a verbosidade de saída de log é definida como diagnostic. Você especifica as duas configurações usando a opção de /filelogparameters (flp).

msbuild MyProject.proj /t:go /fl /flp:logfile=MyProjectOutput.log;verbosity=diagnostic

Para obter mais informações, consulte Referência de linha de comando MSBuild.

Salvando a saída de log para vários arquivos

O exemplo a seguir salva o log inteiro a msbuild1.log, apenas os erros a JustErrors.log, e apenas os avisos a JustWarnings.log. O exemplo usa números de arquivo para cada um dos três arquivos. Números de arquivo são especificados imediatamente depois de opções de /fl e de /flp (por exemplo, /fl1 e /flp1).

Alterna de /filelogparameters (flp) para arquivos 2 e 3 especifica que o nomear cada arquivo e o que incluir em cada arquivo. Nenhum nome é especificado para o arquivo 1, então o nome padrão de msbuild1.log é usado.

msbuild MyProject.proj /t:go /fl1 /fl2 /fl3 /flp2:logfile=JustErrors.log;errorsonly /flp3:logfile=JustWarnings.log;warningsonly 

Para obter mais informações, consulte Referência de linha de comando MSBuild.

Usando um registador personalizado

Você pode escrever seu próprio registador criando um tipo gerenciado que implementa a interface de ILogger . Você pode usar um registador personalizado, por exemplo, para enviar erros de compilação no email, para registrar-los logon em um banco de dados, ou para registrar-los logon para um arquivo XML. Para obter mais informações, consulte Agentes de log de compilação.

Na linha de comando MSBuild, você especifica o registador personalizado usando a opção de /logger . Você também pode usar a opção de /noconsolelogger para desativar o registador padrão de console.

Consulte também

Referência

LoggerVerbosity

Conceitos

Agentes de log de compilação

Registrando em logs em um ambiente multiprocessador

Criando agentes de log de encaminhamento

Outros recursos

Conceitos do MSBuild