Как напечатать настроенное сообщение в коде в журнал сборки Teamcity в C # - PullRequest
7 голосов
/ 25 ноября 2010

Недавно мне нужно было напечатать какое-то специальное сообщение в коде C # в журнал сборки Teamcity при выполнении. Кто-нибудь знает, как это сделать?

как:

// DoSomething

// печать сообщений

надеюсь, что в журнале сборки Teamcity будут видны эти сообщения.

заранее спасибо

Ответы [ 5 ]

2 голосов
/ 17 августа 2016

Если вы хотите, чтобы какое-либо сообщение появлялось в Team City журнале сборки из, скажем, теста, то просто используйте

Console.WriteLine("")

Вот пример регистрации модульного теста в TeamCity Log

 [SetUp]
 public void Init()
 {
        try
            {
                Console.WriteLine(string.Format("with_fresh_db Init Before RefreshController.StartRefresh: Time: {0:yyyy-MM-dd HH:mm:ssss}", DateTime.Now));
    ....
            }

  }

И здесь вы можете увидеть результат:

enter image description here

0 голосов
/ 20 июня 2019

У меня были проблемы с получением Console.WriteLine для записи в журнал сборки из теста NUnit.

Я предполагаю, что NUnit или TeamCity перенаправляют поток консоли, поэтому любые вызовы из тестируемой системы не регистрируются и не портят журнал сборки.

Я временно перенаправил обратно на стандартный вывод из моего метода тестирования, и он появился в журнале.

// redirect to stdio
var tw = Console.Out;
var sw = new StreamWriter(Console.OpenStandardOutput());
sw.AutoFlush = true;
Console.SetOut(sw);

// write 
Console.WriteLine($"Console writeline from test");

// put it back
Console.SetOut(tw);
0 голосов
/ 23 января 2015

Наследовать от Task и использовать Microsoft.Build.Utilities:

Log.LogMessage(MessageImportance.High, "Bla-bla-bla");

или

Log.LogMessage("Test!");
0 голосов
/ 15 декабря 2015

Использование Служебных сообщений , например, запись этой строки в стандартный вывод ##teamcity[message text='Hello from TeamCity'] приведет к появлению Hello from TeamCity в журнале сборки.

0 голосов
/ 25 ноября 2010

Используете ли вы msbuild для компиляции приложения C # или запускаете приложение C # с помощью скрипта сборки?.

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

...