2016-01-22 30 views
0

我想保留我服务器抛出的http响应记录。因此,例如,对于每个服务器请求,我想记录http响应是1xx响应还是2xx,3xx等。例如,在一天结束时,我希望看到,例如,从1000个请求中,其中2%是5xx服务器错误响应。我正在使用laravel框架。如何在Laravel中记录与http响应相关的数据?

我不想重定向响应,也不改变响应消息。我只是想保留它们的记录。 我怎么能做到这一点?我不确定我应该如何介绍我的逻辑。在哪里拦截最终的回应?

谢谢您的帮助! :)

+0

会使用“后过滤器”是答案? – FTM

+0

您使用的是什么版本的laravel? – Jeemusu

+0

你只是想存储一个计数,没有其他信息? –

回答

0

看来我有三种选择。

  1. (在我看来,最好的选择)正如@ mark-davidson提到的,一种解决方案是使用服务器日志。
  2. 也可以使用“after”之后的中间件来实现该功能,正如@ peterpan666所述。
  3. 阅读laravel文档我刚刚发现了中间件“终结器”,这也可能是一个不错的选择,因为这个中间件只有在发送响应之后才运行。
1

您可以使用“之后”一个全球性的中间件,看到这个https://laravel.com/docs/5.2/middleware#defining-middleware

然后检查响应

  • 如果它的\Illuminate\Http\Response一个实例,上面有一个status()方法,让你响应状态。
  • 如果它不是Response实例,那么它应该是200 OK状态。
+0

我有一个“中间件之前”的路线呢?在这些情况下,“后中间件”会捕获这些响应吗? – FTM

+0

嗯,这就是中间件的美丽;) – PeterPan666

相关问题