如何在Laravel中记录与http响应相关的数据?

时间:2016-01-22 07:34:41

标签: http laravel httpresponse

我想记录我的服务器正在抛出的http响应。因此,例如,对于每个服务器请求,我想记录http响应是1xx响应,还是2xx,3xx等等。在一天结束时,我想看看,例如,在1000个请求中,其中2%是5xx服务器错误响应。我正在使用laravel框架。

我不想重定向响应,也不想更改响应消息。我只想记录下来。 我怎么能实现这一目标?我不确定laravel模型应该在哪个方面介绍我的逻辑。在哪里截获最终答复?

感谢您的帮助! :)

2 个答案:

答案 0 :(得分:1)

您可以使用全球中间件"在"之后,请参阅此https://laravel.com/docs/5.2/middleware#defining-middleware

然后检查回复

  • 如果它是\Illuminate\Http\Response的实例,则您有一个status()方法,可以为您提供响应状态。
  • 如果它不是响应实例,那么它应该是200 OK状态。

答案 1 :(得分:0)

好像我有三个选择。

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