You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Ruby脚本运行产生的错误/异常日志默认存储位置在哪里?

Ruby 脚本异常日志位置排查方法

默认运行机制说明

  • Ruby 脚本未捕获的异常默认仅输出到标准错误流(stderr),不会自动持久化写入本地日志文件。如果直接在终端前台运行脚本,异常只会打印在当前终端界面,不会主动存储到本地文件。

不同运行场景的日志定位方式

  • 前台终端直接运行:无持久化日志,异常仅输出在当前终端窗口,关闭终端后内容无法回溯
  • 后台/托管场景运行:
    • 若使用nohup ruby 脚本名.rb &类命令后台启动,日志默认写入执行命令所在目录的nohup.out文件
    • 若使用systemd等系统服务管理工具托管脚本,执行journalctl -u 你的服务名.service即可查看对应输出日志
    • 若手动配置过输出重定向,比如执行命令为ruby script.rb > run.log 2>&1,日志会写入你指定的run.log文件中

主动配置持久化日志方案

如果需要后续方便排查问题,可直接引入Ruby标准库自带的logger模块,自定义日志存储路径,参考实现如下:

require 'logger'

# 自定义日志存储路径,路径下文件不存在时会自动创建
logger = Logger.new('./ruby_script_err.log')
logger.level = Logger::INFO

begin
  # 此处放置你的业务逻辑代码
rescue => e
  # 捕获异常后同时写入日志,包含完整异常栈信息
  logger.error "运行异常:#{e.class} - #{e.message}"
  logger.error "异常栈:\n#{e.backtrace.join("\n")}"
  # 可选配置:异常依然抛出到终端输出
  raise e
end

内容的提问来源于stack exchange,提问作者opensource-developer

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.29 20:06:04