Ruby:
Escrevendo para o erro padrão
Como fazer:
A biblioteca padrão do Ruby oferece uma maneira simples de escrever para o stderr usando $stderr
ou STDERR
. Você não precisa de bibliotecas de terceiros para esta operação básica.
Escrevendo uma mensagem simples para stderr:
$stderr.puts "Erro: Arquivo não encontrado."
# Ou equivalentemente
STDERR.puts "Erro: Arquivo não encontrado."
Saída de exemplo (para stderr):
Erro: Arquivo não encontrado.
Redirecionando stderr para um arquivo:
File.open('error.log', 'w') do |file|
STDERR.reopen(file)
STDERR.puts "Falha ao abrir configuração."
end
Este trecho de código redireciona o stderr para um arquivo chamado error.log
, e todos os erros escritos subsequentemente serão direcionados para lá até que o programa redefina o redirecionamento do stderr ou termine.
Usando stderr com tratamento de exceção:
begin
# Simulando uma operação que poderia falhar, por ex., abrir um arquivo
File.open('arquivo_inexistente.txt')
rescue Exception => e
STDERR.puts "Ocorreu uma exceção: #{e.message}"
end
Saída de exemplo (para stderr):
Ocorreu uma exceção: No such file or directory @ rb_sysopen - arquivo_inexistente.txt
Embora os métodos integrados do Ruby para escrever para stderr sejam suficientes para muitas aplicações, para necessidades de registro de atividades mais complexas, você pode considerar a biblioteca padrão logger
ou gems externas como Log4r
. Estes fornecem mecanismos de registro configuráveis, incluindo níveis de severidade, formatação e a capacidade de escrever em várias saídas, incluindo arquivos, e-mail e mais.