2016-02-07 4 views
3

Я использовал ниже код для регистрации каждого запроса и ответа для моего API, но теперь он не работает для Laravel 5.2.Как регистрировать каждый ответ в laravel 5.2 framework

Я попытался использовать https://laravel.com/docs/5.2/middleware#terminable-middleware, но не получится.

use Closure; 
use Illuminate\Contracts\Routing\TerminableMiddleware; 
use Illuminate\Support\Facades\Log; 

class LogAfterRequest implements TerminableMiddleware { 

    public function handle($request, Closure $next) 
    { 
     return $next($request); 
    } 

    public function terminate($request, $response) 
    { 
     $logFile = 'log.txt'; 
     Log::useDailyFiles(storage_path().'/logs/'.$logFile); 
     Log::info('app.requests', ['request' => $request->all(), 'response' => $response->getContent()]); 
    } 

} 

Может ли кто-нибудь предложить мне решение?

ответ

0

I получили решение. проблема заключалась в том, что я добавил «die» в методе контроллера, из-за которого функция завершения не выполняется, и поэтому журнал не генерируется.

1

Предполагая, что вы используете web группы для routes.php, вы должны добавить в app/Kernel.php в $middlewareGroups для web следующего промежуточного программного обеспечения:

\App\Http\Middleware\LogAfterRequest ::class, 

Вашего routes.php должен выглядеть следующим образом:

Route::group(['middleware' => 'web'], function() { 
    // here you put all the routes 
}); 
+0

Благодарим за отзыв. Но я уже добавил, что в kernal.php. У меня есть решение. проблема заключалась в том, что я добавил умение в методе контроллера, из-за которого функция завершения не выполняется, и поэтому журнал не генерируется. –

Смежные вопросы