Что будет делать Environment.FailFast в.NET Core при развертывании в среде Linux?
Документы для этого метода говорят:
Немедленно завершает процесс после записи сообщения в журнал событий приложений Windows, а затем включает сообщение и необязательную информацию об исключениях в отчеты об ошибках в Microsoft.
Но как быть при развертывании в среде Linux, где нет отчетов об ошибках EventLog или Windows?
Я хочу воспользоваться возможностью немедленного завершения консольного приложения таким образом, но неясно, является ли этот метод правильным. Есть ли лучший подход для Linux?
План состоит в том, чтобы мое консольное приложение работало в контейнере Linux. Мне бы хотелось, чтобы приложение могло завершать работу и, таким образом, вызывать завершение контейнера, чтобы инфраструктура могла раскручивать новый. Тем не менее, я только начинаю с Docker (и мои навыки Linux очень ржавые). Так что я в растерянности здесь...
Мне, вероятно, придется раскрутить небольшую выборку и просто повозиться, но надеялся задать вопрос здесь на тот случай, если кто-нибудь сможет дать более быстрый ответ.
ТИА
1 ответ
Ничего подобного не попробовать!
using System;
namespace testing
{
class Program
{
static void Main(string[] args)
{
Console.WriteLine("Hello World!");
System.Environment.FailFast("oh shoot");
Console.WriteLine("Bye!");
}
}
}
Дает мне
/tmp/testing$ dotnet run
Hello World!
FailFast:
oh shoot
at System.Environment.FailFast(System.String, System.Exception)
at System.Environment.FailFast(System.String)
at testing.Program.Main(System.String[])
Я не видел никаких дополнительных сообщений журнала ни в одном /var/log
, Так что я думаю, что он существует быстро и выдает журнал в консоль.