Exemple #1
0
     return $app->redirect($app['url_generator']->generate('log', array('clientSlug' => $client->getSlug(), 'logSlug' => $log->getSlug())));
 })->bind("home");
 $app->get('/logs/{clientSlug}', function ($clientSlug) use($app) {
     $viewer = new Syonix\LogViewer\LogViewer($app['config']['logs']);
     $client = $viewer->getClient($clientSlug);
     $log = $client->getFirstLog();
     if (is_null($log)) {
         $app->abort(404, "Client not found");
     }
     return $app->redirect($app['url_generator']->generate('log', array('clientSlug' => $clientSlug, 'logSlug' => $log->getSlug())));
 })->bind("client");
 $controller_log = function (\Symfony\Component\HttpFoundation\Request $request, $clientSlug, $logSlug) use($app) {
     try {
         $viewer = new Syonix\LogViewer\LogViewer($app['config']['logs']);
         $clients = $viewer->getClients();
         $client = $viewer->getClient($clientSlug);
         if ($client === null || !$client->logExists($logSlug)) {
             $app->abort(404, "Log file not configured");
         }
         $log = $client->getLog($logSlug)->load();
         $minLogLevel = $request->query->get('m');
         $currentLogger = $request->query->get('l');
         if ($currentLogger && !$log->getLoggers()->contains($currentLogger)) {
             return $app->redirect($app['url_generator']->generate('log', array('clientSlug' => $clientSlug, 'logSlug' => $logSlug, 'm' => $minLogLevel, 'l' => $currentLogger)));
         }
     } catch (\League\Flysystem\FileNotFoundException $e) {
         $app->abort(404, "Log file not found");
     }
     return $app['twig']->render('log.html.twig', array('clients' => $clients, 'current_client_slug' => $clientSlug, 'current_log_slug' => $logSlug, 'log' => $log, 'logLevels' => Monolog\Logger::getLevels(), 'min_log_level' => in_array($minLogLevel, Monolog\Logger::getLevels()) ? $minLogLevel : 100, 'loggers' => $log->getLoggers(), 'current_logger' => $currentLogger));
 };
 $app->get('/logs/{clientSlug}/{logSlug}', $controller_log)->bind("log");