Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/logging/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 有没有办法显示Rails';浏览器中的日志文件?_Ruby On Rails_Logging - Fatal编程技术网

Ruby on rails 有没有办法显示Rails';浏览器中的日志文件?

Ruby on rails 有没有办法显示Rails';浏览器中的日志文件?,ruby-on-rails,logging,Ruby On Rails,Logging,这可能是一个愚蠢的问题,但接下来 是否有一种简单、最好是非第三方的方式在浏览器中显示Rails日志?打开一个日志文件,然后关闭它,然后在下一个错误时重新打开它,这有点旧。只需转到domain.tld/logs,当然,这需要用户身份验证,这将是一件非常重要的事情 只需打开日志文件并将其内容放入浏览器即可 <pre><%= @logs %></pre> 不动产主题: 另外,您应该知道日志增长非常快,在浏览器中显示整个日志不是一个好主意。您可以只打开最后100-2

这可能是一个愚蠢的问题,但接下来


是否有一种简单、最好是非第三方的方式在浏览器中显示Rails日志?打开一个日志文件,然后关闭它,然后在下一个错误时重新打开它,这有点旧。只需转到
domain.tld/logs
,当然,这需要用户身份验证,这将是一件非常重要的事情

只需打开日志文件并将其内容放入浏览器即可

<pre><%= @logs %></pre>
不动产主题:

另外,您应该知道日志增长非常快,在浏览器中显示整个日志不是一个好主意。您可以只打开最后100-200行。相关主题:


您也可以尝试此解决方案:。它更复杂,主题也很少,但非常有用。

作为参考,有一种非常简单的方法可以做到这一点。但是,您可能希望通过某种身份验证/授权来保护此页面

控制器:

lines = params[:lines]
if Rails.env == "production"
  @logs = `tail -n #{lines} log/production.log`
else
  @logs = `tail -n #{lines} log/development.log`
end
get 'logs/:lines' => "pages#log", as: "log"
gem 'browserlog'
日志文件视图:

lines = params[:lines]
if Rails.env == "production"
  @logs = `tail -n #{lines} log/production.log`
else
  @logs = `tail -n #{lines} log/development.log`
end
get 'logs/:lines' => "pages#log", as: "log"
gem 'browserlog'

我为此创建了一个名为

安装只需将gem添加到gem文件:

MyApp::Application.routes.draw do
  mount Browserlog::Engine => '/logs'
end
之后,您只需将发动机安装在您想要的路线上:

设置好后,访问/日志/开发(或生产、测试等)将显示如下窗口:


(来源:)

可用于可视化多种类型的日志,包括RubyonRails

它还包括用户管理和通知

[已编辑]

默认情况下,PimpMyLog不支持RubyonRails日志。有必要实现正则表达式来处理它


[/Edited]

当别人给你解决方案时,这很简单:)谢谢你,先生!“您只需打开日志文件并将其内容放入浏览器。”抱歉。没有明白你的意思吗?用
log/#{Rails.env}.log
而不是if-else,不是更健壮一点吗?@alexanderbird绝对,今天,我会的