Configurado el logger

This commit is contained in:
2021-04-30 17:41:02 -04:00
parent a0ab2c6c8c
commit d764ff6718
5 changed files with 83 additions and 7 deletions

View File

@@ -8,6 +8,7 @@ use App\Services\Auth0Service;
use App\Services\PaginatorService; use App\Services\PaginatorService;
use Illuminate\Http\JsonResponse; use Illuminate\Http\JsonResponse;
use Illuminate\Http\Request; use Illuminate\Http\Request;
use Illuminate\Support\Facades\Log;
use Illuminate\Validation\Rule; use Illuminate\Validation\Rule;
use Illuminate\Validation\ValidationException; use Illuminate\Validation\ValidationException;
use Ramsey\Uuid\Uuid; use Ramsey\Uuid\Uuid;

View File

@@ -0,0 +1,25 @@
<?php
namespace App\Http\Middleware;
use Closure;
use Illuminate\Support\Facades\Log;
class LogEndpointHitMiddleware {
public function handle($request, Closure $next) {
$userId = $request->user ? $request->user->id : null;
$method = $request->getMethod();
$path = $request->getPathInfo();
Log::debug('User ' . $userId . ' hitting ' . $method . ' ' . $path . ' endpoint', [
'user' => $userId,
'method' => $method,
'path' => $path,
'input' => array_filter($request->input(), function ($key) {
return $key !== 'user';
}, ARRAY_FILTER_USE_KEY)
]);
return $next($request);
}
}

View File

@@ -1,6 +1,6 @@
<?php <?php
require_once __DIR__.'/../vendor/autoload.php'; require_once __DIR__ . '/../vendor/autoload.php';
(new Laravel\Lumen\Bootstrap\LoadEnvironmentVariables( (new Laravel\Lumen\Bootstrap\LoadEnvironmentVariables(
dirname(__DIR__) dirname(__DIR__)
@@ -60,6 +60,7 @@ $app->singleton(
*/ */
$app->configure('app'); $app->configure('app');
$app->configure('logging');
/* /*
|-------------------------------------------------------------------------- |--------------------------------------------------------------------------
@@ -72,12 +73,10 @@ $app->configure('app');
| |
*/ */
// $app->middleware([
// App\Http\Middleware\ExampleMiddleware::class
// ]);
$app->routeMiddleware([ $app->routeMiddleware([
'auth' => App\Http\Middleware\Auth0Middleware::class, 'auth' => App\Http\Middleware\Auth0Middleware::class,
'log_endpoint' => App\Http\Middleware\LogEndpointHitMiddleware::class
]); ]);
/* /*
@@ -91,7 +90,7 @@ $app->routeMiddleware([
| |
*/ */
$app->register(App\Providers\AppServiceProvider::class); $app->register(App\Providers\AppServiceProvider::class);
// $app->register(App\Providers\AuthServiceProvider::class); // $app->register(App\Providers\AuthServiceProvider::class);
// $app->register(App\Providers\EventServiceProvider::class); // $app->register(App\Providers\EventServiceProvider::class);
$app->register(Illuminate\Redis\RedisServiceProvider::class); $app->register(Illuminate\Redis\RedisServiceProvider::class);
@@ -110,7 +109,7 @@ $app->register(Illuminate\Redis\RedisServiceProvider::class);
$app->router->group([ $app->router->group([
'namespace' => 'App\Http\Controllers', 'namespace' => 'App\Http\Controllers',
], function ($router) { ], function ($router) {
require __DIR__.'/../routes/web.php'; require __DIR__ . '/../routes/web.php';
}); });
return $app; return $app;

View File

@@ -0,0 +1,51 @@
<?php
use Monolog\Handler\NullHandler;
use Monolog\Handler\StreamHandler;
use Monolog\Handler\SyslogUdpHandler;
return [
/*
|--------------------------------------------------------------------------
| Default Log Channel
|--------------------------------------------------------------------------
|
| This option defines the default log channel that gets used when writing
| messages to the logs. The name specified in this option should match
| one of the channels defined in the "channels" configuration array.
|
*/
'default' => env('LOG_CHANNEL', 'stack'),
'channels' => [
'stack' => [
'driver' => 'stack',
'channels' => ['daily', 'stderr'],
],
'daily' => [
'driver' => 'daily',
'path' => storage_path('logs/lumen_log.html'),
'formatter' => Monolog\Formatter\HtmlFormatter::class,
'level' => 'debug',
'days' => 14,
],
'stderr' => [
'driver' => 'monolog',
'handler' => StreamHandler::class,
'formatter' => Monolog\Formatter\LineFormatter::class,
'level' => 'debug',
'with' => [
'stream' => 'php://stderr',
],
],
'null' => [
'driver' => 'monolog',
'handler' => NullHandler::class,
],
],
];

View File

@@ -8,7 +8,7 @@ $router->get('/', function () use ($router) {
return 'Public View'; return 'Public View';
}); });
$router->group(['prefix' => 'api/v1', 'middleware' => 'auth'], function () use ($router) { $router->group(['prefix' => 'api/v1', 'middleware' => ['auth', 'log_endpoint']], function () use ($router) {
$router->group(['prefix' => '/users'], function () use ($router) { $router->group(['prefix' => '/users'], function () use ($router) {
$router->get('/', ['as' => 'users.all', 'uses' => 'UsuariosController@all']); $router->get('/', ['as' => 'users.all', 'uses' => 'UsuariosController@all']);
$router->get('/{id}', ['as' => 'users.get', 'uses' => 'UsuariosController@get']); $router->get('/{id}', ['as' => 'users.get', 'uses' => 'UsuariosController@get']);