Ruby:
写入标准错误

如何做:

Ruby 的标准库提供了一种简单的方式来使用 $stderrSTDERR 写入 stderr。对于这个基本操作,你不需要第三方库。

向 stderr 写入一条简单消息:

$stderr.puts "Error: 文件未找到。"
# 或等效地
STDERR.puts "Error: 文件未找到。"

示例输出(到 stderr):

Error: 文件未找到。

将 stderr 重定向到文件:

File.open('error.log', 'w') do |file|
  STDERR.reopen(file)
  STDERR.puts "无法打开配置。"
end

这段代码将 stderr 重定向到名为 error.log 的文件中,所有随后写入的错误都会输出到那里,直到程序重置 stderr 重定向或终止。

在异常处理中使用 stderr:

begin
  # 模拟可能失败的操作,例如,打开文件
  File.open('nonexistent_file.txt')
rescue Exception => e
  STDERR.puts "发生异常:#{e.message}"
end

示例输出(到 stderr):

发生异常:No such file or directory @ rb_sysopen - nonexistent_file.txt

虽然 Ruby 的内置方法写入 stderr 对于许多应用程序而言已经足够,但对于更复杂的日志需求,你可能会考虑使用 logger 标准库或外部宝石如 Log4r。这些提供了可配置的日志机制,包括严重性级别、格式化以及写入各种输出的能力,包括文件、电子邮件等。