Записать предупреждающие сообщения в текстовый файл из скрипта торта

Я использую нижеприведенный скрипт для компиляции C# проект. Есть несколько предупреждений, показанных в PowerShell во время выполнения сценария. Мне нравится регистрировать предупреждения в текстовом файле, который находится в физическом месте (например: D:\WarningReport.txt), Ниже приведена задача скрипта торта, которую я использую для компиляции проекта.

Task("Build")
    .Does(() =>
{
    if(IsRunningOnWindows())
    {
      MSBuild("./src/Example.sln", settings =>
        settings.SetConfiguration(configuration));
    }
});

Мне нравится добавлять что-то вроде ниже,

LogWarningMessagesTo("D:\WarningReportes.txt");
LogErrorMessagesTo("D:\ErrorReportes.txt");

Как это сделать?

1 ответ

Решение

Если это предупреждения и ошибки от псевдонима MSBuild, вы хотите войти в систему, это, безусловно, возможно, используя метод расширения AddFileLogger в параметре MSBuildSettings.

В основном изменить

  MSBuild("./src/Example.sln", settings =>
    settings.SetConfiguration(configuration));

в

MSBuild("./src/Example.sln", settings =>
    settings.SetConfiguration(configuration)
            .AddFileLogger(new MSBuildFileLogger {
                LogFile ="D:/WarningReportes.txt",
                MSBuildFileLoggerOutput = MSBuildFileLoggerOutput.WarningsOnly })
            .AddFileLogger(new MSBuildFileLogger {
                LogFile ="D:/ErrorReportes.txt",
                MSBuildFileLoggerOutput = MSBuildFileLoggerOutput.ErrorsOnly })
  );
Другие вопросы по тегам