Поделиться через


Получение журналов сборки с помощью MSBuild

С помощью параметров командной строки с MSBuild можно указать, сколько данных сборки требуется проверить и сохранить данные сборки в одном или нескольких файлах. Можно также указать пользовательский логгер для сбора данных сборки. Сведения о параметрах командной строки MSBuild, которые не рассматриваются в этом разделе, см. в справочнике по командной строке.

Замечание

При создании проектов в интегрированной среде разработки Visual Studio вы можете устранить неполадки со сборками, просмотрев журналы сборки. Дополнительные сведения см. в статье Практическое руководство. Просмотр, сохранение и настройка файлов журнала сборки.

Настройка уровня детализации

При сборке проекта с помощью MSBuild без указания уровня детализации в выходном журнале отображаются следующие сведения:

  • Ошибки, предупреждения и сообщения, которые классифицируются как очень важные.

  • Некоторые события статуса.

  • Сводка по сборке.

С помощью -verbosity переключателя (-v) можно управлять объемом данных в выходном журнале. Для устранения неполадок используйте уровень detailed детализации (d) или diagnostic (diag), который предоставляет большую информацию.

Процесс сборки может быть медленнее при установке -verbosity в detailed и еще медленнее при установке -verbosity в diagnostic.

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

Настройки многословности

В следующей таблице показано, как подробность журналирования (значения столбцов) влияет на то, какие типы сообщений (значения строк) регистрируются.

Тип сообщения / Подробность Тихий Минимальный Нормальный Подробный Диагностика
Ошибки
Предупреждения
Сообщения с высокой важностью
Сообщения с нормальной важностью
Сообщения с низкой важностью
Дополнительные сведения о механизме MSBuild

Сохранение журнала сборки в файл

Вы можете использовать -fileLogger переключатель (-fl) для сохранения данных сборки в файл. В следующем примере данные сборки сохраняются в файл с именем msbuild.log.

msbuild MyProject.proj -t:go -fileLogger

В следующем примере файл журнала называется MyProjectOutput.log, а уровень подробности выходных данных журнала задан как diagnostic. Эти два параметра указываются с помощью -fileLoggerParameters переключателя (-flp).

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

Дополнительные сведения см. в справочнике по командной строке.

Сохранение выходных данных журнала в нескольких файлах

В следующем примере сохраняется весь журнал в msbuild1.log, только ошибки для JustErrors.log и только предупреждения для JustWarnings.log. В примере используются номера файлов для каждого из трех файлов. Номера файлов указываются сразу после переключателей -fl и -flp (например, -fl1 и -flp1).

Параметры -fileLoggerParameters (-flp) для файлов 2 и 3 указывают, что нужно назвать каждый файл и что включить в каждый файл. Имя не указано для файла 1, поэтому используется имя msbuild1.log по умолчанию.

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

Если вы используете оболочку, которая интерпретирует запятую (например, bash), поместите одиночные или двойные кавычки вокруг любого параметра с запятой, чтобы предотвратить интерпретацию его как разделитель команд. Дополнительные сведения см. в справочнике по командной строке.

Сохранение двоичного журнала

Журнал можно сохранить в сжатом, двоичном формате с помощью -binaryLogger переключателя (-bl). Этот журнал содержит подробное описание процесса сборки и может читаться определенными средствами анализа журналов.

В следующем примере создается двоичный файл журнала с именем binarylogfilename.

-bl:binarylogfilename.binlog

Вы можете использовать средство просмотра структурированных журналов для просмотра двоичных журналов таким образом, что упрощает просмотр того, что происходит.

Дополнительные сведения см. в справочнике по командной строке.

Используйте пользовательский логгер

Вы можете написать собственное средство ведения журнала, создав управляемый тип, реализующий интерфейс ILogger. Например, можно использовать пользовательский журнал для отправки ошибок сборки по электронной почте, записи их в базу данных или сохранения их в XML-файл. Дополнительные сведения см. в разделе "Средства ведения журнала сборки".

В командной строке MSBuild можно указать пользовательское средство ведения журнала с помощью параметра -logger. Вы также можете использовать -noconsolelogger параметр для отключения средства ведения журнала консоли по умолчанию.