} switch ($e->getStatusCode()) { case 404: $viewer = new Syonix\LogViewer\LogManager($app['config']['logs']); return $app['twig']->render('error/log_file_not_found.html.twig', ['clients' => $viewer->getLogCollections(), 'current_client_slug' => null, 'current_log_slug' => null, 'error' => $e]); default: try { $viewer = new Syonix\LogViewer\LogManager($app['config']['logs']); $clients = $viewer->getLogCollections(); } catch (\Exception $e) { $clients = []; } return $app['twig']->render('error/error.html.twig', ['clients' => $clients, 'clientSlug' => null, 'logSlug' => null, 'message' => 'Something went wrong!', 'icon' => 'bug', 'error' => $e]); } }); $app->error(function (\Exception $e, $code) use($app) { if ($app['debug']) { return; } switch ($code) { default: try { $viewer = new Syonix\LogViewer\LogManager($app['config']['logs']); $clients = $viewer->getLogCollections(); } catch (\Exception $e) { $clients = []; } return $app['twig']->render('error/error.html.twig', ['clients' => $clients, 'clientSlug' => null, 'logSlug' => null, 'message' => 'Something went wrong!', 'icon' => 'bug', 'error' => $e]); } }); $app->run();
$filter['logger'] = $request->query->get('logger'); if ($filter['logger'] == '') { $filter['logger'] = null; } $filter['level'] = intval($request->query->get('level', 0)); if (!($filter['level'] > 0)) { $filter['level'] = null; } $filter['text'] = $request->query->get('text'); if ($filter['text'] == '') { $filter['text'] = null; } if ($filter['logger'] === null && $filter['level'] === null && $filter['text'] === null) { $filter = null; } $viewer = new Syonix\LogViewer\LogManager($app['config']['logs']); $logCollection = $viewer->getLogCollection($clientSlug); if (null === $logCollection) { $error = ['message' => 'The client was not found.']; return $app->json($error, 404); } $log = $logCollection->getLog($logSlug); if (null === $log) { $error = ['message' => 'The log file was not found.']; return $app->json($error, 404); } $adapter = new \League\Flysystem\Adapter\Local(APP_PATH . '/cache'); $cache = new \Syonix\LogViewer\LogFileCache($adapter, $app['config']['cache_expire'], $app['config']['reverse_line_order']); $log = $cache->get($log); $logUrl = BASE_URL . '/api/logs/' . $logCollection->getSlug() . '/' . $log->getSlug(); $totalLines = $log->countLines($filter);