80 lines
2.5 KiB
PHP
80 lines
2.5 KiB
PHP
<?php
|
|
|
|
declare(strict_types=1);
|
|
|
|
namespace App\Controller;
|
|
|
|
use App\Controller\Api\Traits\HasLogViewer;
|
|
use App\Entity;
|
|
use App\Radio\Enums\BackendAdapters;
|
|
use App\Radio\Enums\FrontendAdapters;
|
|
|
|
abstract class AbstractLogViewerController
|
|
{
|
|
use HasLogViewer;
|
|
|
|
/**
|
|
* @return array<string, array>
|
|
*/
|
|
protected function getStationLogs(Entity\Station $station): array
|
|
{
|
|
$log_paths = [];
|
|
|
|
$stationConfigDir = $station->getRadioConfigDir();
|
|
|
|
$log_paths['station_nginx'] = [
|
|
'name' => __('Station Nginx Configuration'),
|
|
'path' => $stationConfigDir . '/nginx.conf',
|
|
'tail' => false,
|
|
];
|
|
|
|
if (BackendAdapters::Liquidsoap === $station->getBackendTypeEnum()) {
|
|
$log_paths['liquidsoap_log'] = [
|
|
'name' => __('Liquidsoap Log'),
|
|
'path' => $stationConfigDir . '/liquidsoap.log',
|
|
'tail' => true,
|
|
];
|
|
$log_paths['liquidsoap_liq'] = [
|
|
'name' => __('Liquidsoap Configuration'),
|
|
'path' => $stationConfigDir . '/liquidsoap.liq',
|
|
'tail' => false,
|
|
];
|
|
}
|
|
|
|
switch ($station->getFrontendTypeEnum()) {
|
|
case FrontendAdapters::Icecast:
|
|
$log_paths['icecast_access_log'] = [
|
|
'name' => __('Icecast Access Log'),
|
|
'path' => $stationConfigDir . '/icecast_access.log',
|
|
'tail' => true,
|
|
];
|
|
$log_paths['icecast_error_log'] = [
|
|
'name' => __('Icecast Error Log'),
|
|
'path' => $stationConfigDir . '/icecast.log',
|
|
'tail' => true,
|
|
];
|
|
$log_paths['icecast_xml'] = [
|
|
'name' => __('Icecast Configuration'),
|
|
'path' => $stationConfigDir . '/icecast.xml',
|
|
'tail' => false,
|
|
];
|
|
break;
|
|
|
|
case FrontendAdapters::Shoutcast:
|
|
$log_paths['shoutcast_log'] = [
|
|
'name' => __('SHOUTcast Log'),
|
|
'path' => $stationConfigDir . '/shoutcast.log',
|
|
'tail' => true,
|
|
];
|
|
$log_paths['shoutcast_conf'] = [
|
|
'name' => __('SHOUTcast Configuration'),
|
|
'path' => $stationConfigDir . '/sc_serv.conf',
|
|
'tail' => false,
|
|
];
|
|
break;
|
|
}
|
|
|
|
return $log_paths;
|
|
}
|
|
}
|