aka*_*zov 23 logging ruby-on-rails
我有一个Rails应用程序,但经过一段时间的开发/调试后,我意识到能够在日志文件--log/development.log中查看整个HTTP请求非常有用,而不仅仅是参数.
我还希望有一个基于用户的单独日志文件,而不是会话.
任何想法将不胜感激!
mic*_*ino 39
您可以通过以下方式快速查看视图中的request.env:
如果您希望在控制器中将其记录在开发日志中:
在这里,您可以看到Request对象的引用.
Rails使用Ruby标准库中的Logger自动设置日志/目录中的文件记录.日志文件将根据您的环境进行命名,例如log/development.log.
要从控制器或模型记录消息,请使用logger方法访问Rails记录器实例:
class YourController < ActionController::Base
def index
logger.info request.env
end
end
Run Code Online (Sandbox Code Playgroud)
关于用户,您使用什么来验证它?
该logger.info request.env
代码在 Rails 控制器中运行良好,但要查看更原始的版本,或者如果您使用 Grape 或其他一些安装的应用程序,您必须在通过机架中间件链的过程中拦截请求......
将此代码放入您的 lib 目录中(或位于 的底部application.rb
):
require 'pp'
class Loggo
def initialize(app)
@app = app
end
def call(env)
pp env
@app.call(env)
end
end
Run Code Online (Sandbox Code Playgroud)
然后与其他config
s 一起application.rb
:
config.middleware.use "Loggo"
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
29190 次 |
最近记录: |