Logging laravel请求和响应日志记录

Logging laravel请求和响应日志记录,logging,laravel,Logging,Laravel,我试图捕获与某个laravel响应有关的问题,因此我使用after筛选器记录所有活动,但我无法确定如何将请求和响应信息转储到日志中 App::after( function ($request, $response) { Log::info('access.log', array('request' => $request->headers, 'response' => $response->headers)); } ); 这段代码没有给

我试图捕获与某个laravel响应有关的问题,因此我使用after筛选器记录所有活动,但我无法确定如何将请求和响应信息转储到日志中

App::after(
    function ($request, $response) {
        Log::info('access.log', array('request' => $request->headers, 'response' => $response->headers));
    }
);
这段代码没有给出响应的状态代码信息,这是我最感兴趣的

在将信息传递到web服务器的最后阶段,是否有办法查看结果?像这样的

HTTP/1.1 200 OK
Date: Tue, 25 Nov 2014 22:35:17 GMT
Server: Apache/2.2.14 (Ubuntu)
X-Powered-By: PHP/5.4.34-1+deb.sury.org~lucid+1
Cache-Control: no-cache, max-age=0
Expires: Tue, 25 Nov 2014 22:35:17 GMT
Content-Type: application/json
Via: 1.1 localhost:8080
Vary: Accept-Encoding
Keep-Alive: timeout=15, max=100
Connection: Keep-Alive
Content-Length: 59

{"success":true,"result":{"min":5.7,"mean":9.7,"max":14.2}}

虽然状态代码最终会在标头中返回,但在此阶段,您将无法在$headers属性中找到它。您仍然可以通过调用$response->getStatusCode()

获取状态代码。虽然这是一篇老文章,但我最近想在Laravel中查看所有传入请求和所有传出响应

支持Laravel5和5.1,所以我假设您也可以使用它

要安装:

作曲家

将prettus/laravel请求记录器添加到 composer.json文件

"prettus/laravel-request-logger": "1.0.*" Run composer update to get the latest version of the package.
或运行

composer require prettus/laravel-request-logger 
直达你的终点站

拉维尔

在config/app.php中添加 “Prettus\RequestLogger\Providers\LoggerServiceProvider”到 提供程序阵列:

'providers' => array(
...,
'Prettus\RequestLogger\Providers\LoggerServiceProvider', ), 
发布配置

php artisan vendor:publish --provider="Prettus\RequestLogger\Providers\LoggerServiceProvider" Configuration
config/request logger.php文件中,您可以更改配置
用于记录器

'logger' => [

'enabled'   => true,

'handlers'  => ['Prettus\RequestLogger\Handler\HttpLoggerHandler'],

'file'      => storage_path("logs/http.log"),

'level'     => 'info',

'format'    => 'common' ]
示例:

{method}{full url}

[2015-04-03 00:00:00]本地。信息:获取 [“请求”]{method} {完整url}{远程地址}{端口}

[2015-04-03 00:00:00]本地。信息:获取 192.168.10.1 80[“请求”] {method}{root}{url}{full url}{path}{decoded path}{remote addr} {format}{scheme}{port}{query string}

[2015-04-03 00:00:00]本地。信息:获取 user/1 user/1 192.168.10.1 html http 80 param=lorem[“请求”] [{status}]HTTP:{HTTP版本}{content}

[2015-04-03 00:00:00]local.INFO:[200]HTTP:1.1 {“id”:1,“姓名”:“安德森·安德拉德”,“电子邮件”:contato@andersonandra.de"} [“答复”]


除了将请求/响应转储到日志之外,您还可以尝试获得漂亮的UI。

我希望在这方面得到纠正,但是从我所能告诉您的情况来看,此提供商仅适用于文件日志。我无法让它与elasticsearch Handler一起工作这与Laravel 4.1一起工作吗?我试过了,但失败了。有人能解释一下吗?不确定,因为当时我在帖子中提到了5和5.1。在github的描述中,它也只提到了版本5和5.1