Escrevendo para o erro padrão

C#:
Escrevendo para o erro padrão

Como fazer:

Em C#, escrever no erro padrão pode ser alcançado usando o stream Console.Error. Este stream é usado especificamente para mensagens de erro e diagnósticos. Aqui está um exemplo básico:

Console.Error.WriteLine("Erro: Falha ao processar a solicitação.");

Saída de exemplo (para stderr):

Erro: Falha ao processar a solicitação.

Para cenários onde você pode estar usando uma biblioteca de terceiros que oferece capacidades avançadas de registro, como Serilog ou NLog, você pode configurar essas bibliotecas para escrever registros de erro no stderr. Enquanto estes exemplos focam na simples redireção do console, lembre-se que em aplicações de produção, frameworks de registro oferecem opções muito mais robustas de tratamento de erro e saída. Aqui está um exemplo simples com Serilog:

Primeiro, instale o pacote Serilog e seu sink de Console:

Install-Package Serilog
Install-Package Serilog.Sinks.Console

Em seguida, configure o Serilog para escrever no stderr:

using Serilog;

Log.Logger = new LoggerConfiguration()
    .WriteTo.Console(standardErrorFromLevel: Serilog.Events.LogEventLevel.Error)
    .CreateLogger();

Log.Information("Esta é uma mensagem normal.");
Log.Error("Esta é uma mensagem de erro.");

Saída de exemplo (para stderr para a mensagem de erro):

[15:04:20 ERR] Esta é uma mensagem de erro.

Nota: A configuração standardErrorFromLevel no sink de console do Serilog redireciona todos os eventos de log no nível especificado (Erro, neste caso) ou mais alto para o stream de erro padrão, enquanto mensagens de níveis inferiores como Informação são escritas no stream de saída padrão.