Общие сведения о средстве ведении журнала в MSBuild
Обновлен: Ноябрь 2007
Средства ведения журнала в MSBuild предоставляют способ настройки отчетов о событиях, предупреждениях и ошибках процесса построения. С помощью средств ведения журнала можно отображать информацию в окне консоли, выполнять запись в файл XML или текстовый файл, а также вводить данные о построении в базу данных.
MSBuild: средства ведения журнала
Средство ведения журнала используется для передачи информации от событий, сообщений, предупреждений и ошибок построения в журнал, где эту информацию удобно читать и интерпретировать. Логика средства ведения журнала записана в управляемый тип, реализующий интерфейс ILogger.
MSBuild: средство ведения журнала консоли по умолчанию
Когда MSBuild.exe запускается из командной строки, в MSBuild используется заданное по умолчанию средство ведения журнала для отображения информации о событиях построения в окне консоли. Используя в командной строке ключ /verbosity, можно настроить уровень детализации информации, предоставляемой средством ведения журнала.
По умолчанию средство ведения журнала консоли принимает дополнительные параметры, которые могут изменить выходные данные в окне консоли. Эти параметры задаются в командной строке с помощью ключа /consoleloggerparameters.
При использовании пользовательского средства ведения журнала можно скрыть информацию, которая отображается из используемого по умолчанию средства ведения журнала консоли. Чтобы отключить средство ведения журнала консоли, используйте в командной строке ключ /noconsolelogger.
MSBuild: средство ведения журнала в файле
В состав MSBuild входит также средство ведения журнала в файле, записывающее информацию о событиях построения в файл. Чтобы запустить средство ведения журнала в файле, используйте в командной строке следующий ключ, где MyLog.log – это файл, в который сохраняется информация журнала.
/l:FileLogger,Microsoft.Build.Engine;logfile=MyLog.log
В средстве ведения журнала в файле допустимы четыре параметра, а именно:
Logfile – обязательный параметр, который задает файл для сохранения информации журнала.
Append – необязательный параметр типа boolean, указывающий, следует ли добавлять журнал в указанный файл. Может иметь значения: true – добавить журнал к тексту, уже имеющемуся в файле; false – перезаписать содержимое файла. По умолчанию используется значение false.
Verbosity – необязательный параметр, который переопределяет глобальный параметр детализации только для данного средства ведения журнала в файле. Благодаря этому можно использовать несколько средств ведения журнала, для каждого из которых будет задан свой уровень детализации.
Encoding – необязательный параметр, который задает кодирование для файла, например, UTF-8.
Несколько параметров отделяются друг от друга точкой с запятой (;). Например, с помощью следующей командной строки выполняется запись информации о событии построения в файл MyLog.log и добавление журнала к тексту файла, при этом используется уровень детализации diagnostic и кодирование UTF-8.
MSBuild MyProj.proj /l:FileLogger,Microsoft.Build.Engine;logfile=MyLog.log append=true;verbosity=diagnostic;encoding=utf-8
Указание средства ведения журнала
Чтобы во время построения использовать средство ведения журнала, отличное от используемого по умолчанию средства ведения журнала консоли, укажите пользовательское средство ведения журнала в командной строке с помощью ключа /logger. Дополнительные сведения о ключах командной строки MSBuild см. в разделе Справочные сведения о командной строке MSBuild.
Создание средства ведения журнала
Логика средства ведения журнала пишется в управляемом коде и указывается в командной строке MSBuild с помощью ключа /logger.
Для создания собственного средства ведения журнала можно разработать управляемый тип, реализующий интерфейс ILogger. Дополнительные сведения см. в разделе Практическое руководство. Написание средства ведения журнала.
См. также
Задачи
Практическое руководство. Написание средства ведения журнала
Основные понятия
Ведение журнала в многопроцессорной среде
Создание средства ведения журнала переадресации