Ruby:
写入标准错误
如何做:
Ruby 的标准库提供了一种简单的方式来使用 $stderr
或 STDERR
写入 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
。这些提供了可配置的日志机制,包括严重性级别、格式化以及写入各种输出的能力,包括文件、电子邮件等。