Files
logview/app/common/Service/Logs.php

49 lines
1.1 KiB
PHP
Raw Normal View History

2023-02-14 17:27:01 -03:00
<?php
namespace ProVM\Common\Service;
2023-02-14 22:50:35 -03:00
use DateTimeImmutable;
use SplFileInfo;
2023-02-14 17:27:01 -03:00
use ProVM\Logview\Log\File;
class Logs
{
public function __construct(string $folder)
{
$this
->setFolder($folder);
}
protected string $folder;
public function getFolder(): string
{
return $this->folder;
}
public function setFolder(string $folder): Logs
{
$this->folder = $folder;
return $this;
}
public function getFiles(): array
{
$files = new \FilesystemIterator($this->getFolder());
$output = [];
foreach ($files as $file) {
if ($file->isDir()) {
continue;
}
$output []= $file;
}
return $output;
}
public function get(string $log_file): File
{
2023-02-14 22:50:35 -03:00
$filename = implode(DIRECTORY_SEPARATOR, [$this->getFolder(), $log_file]);
$file_info = new SplFileInfo($filename);
$content = \Safe\file_get_contents($filename);
return (new File())->setFilename($log_file)->setDate((new DateTimeImmutable())->setTimestamp($file_info->getCTime()))->setContent($content);
2023-02-14 17:27:01 -03:00
}
}