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绝对,今天,我会的