首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Rails 3.1中的跟踪日志文件

Rails 3.1中的跟踪日志文件
EN

Stack Overflow用户
提问于 2012-04-27 13:18:24
回答 1查看 96关注 0票数 0

我有一些脚本必须从我的rails应用程序中执行。为了确保脚本做他们应该做的事情,我的应用程序必须显示/跟踪从脚本生成的日志文件的内容。

更详细的是:我希望脚本可以通过串行化连接(某种形式的滚动机制)配置一些黑盒设备。因此,我必须观察,例如,更新进程或重新启动连接的设备(以验证一切正常)。这就是我给日志文件写的东西。

因此,我需要:

  1. 执行一个进程并处理退出代码
  2. 尾/一些日志文件(可能是Javascript或html5?)

我怎么能这么做?示例将是非常感谢的!

非常感谢!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-04-27 17:59:24

对#1的回答非常简单,系统调用,即

代码语言:javascript
复制
ret = system('ls','-l')

如果命令的退出状态为零,则ret将为真。$?将包含一个进程::status对象,您可以从中获取退出状态。

代码语言:javascript
复制
unless system('ls','-l','/a_bogus_dir')
  logger.debug("ls failed with #{$?.exitstatus}")
end

第二条的答案可以用几种方法来解决。您可以创建一个控制器操作,它简单地抓取文件系统中特定文件的内容,并返回内容。

代码语言:javascript
复制
def get_file_contents
  File.open(params[:file_to_read],"r") { |f| @contents = f.read }
  respond_to |format|
    format.js
  end
end

然后创建文件get_file_contents.js.erb:

代码语言:javascript
复制
$('#display_div').html('<%= escape_javascript(@contents) %>');

然后,您必须在页面上创建一个定时器来重复调用控制器操作,我使用jquery.timers。在计时器循环中,您将调用

代码语言:javascript
复制
$.get('/get_file_contents?file_to_read=public/logfile');

这将击中控制器,获取文件内容,并执行get_file_contents.js.erb,这将使用文件的当前内容更新div。

您必须将路由/get_file_contents添加到routes.rb。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10351370

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档