![]() Server : Apache/2.4.62 (Unix) OpenSSL/1.0.2k-fips System : Linux server1.richineiserver.com 3.10.0-1160.119.1.el7.x86_64 #1 SMP Tue Jun 4 14:43:51 UTC 2024 x86_64 User : fdshops ( 1003) PHP Version : 8.2.21 Disable Function : NONE Directory : /home/fdshops/public_html/vendor/arcanedev/log-viewer/src/Providers/ |
<?php declare(strict_types=1); namespace Arcanedev\LogViewer\Providers; use Arcanedev\LogViewer\Contracts\LogViewer as LogViewerContract; use Arcanedev\LogViewer\Contracts\Utilities\Factory as FactoryContract; use Arcanedev\LogViewer\Contracts\Utilities\Filesystem as FilesystemContract; use Arcanedev\LogViewer\Contracts\Utilities\LogChecker as LogCheckerContract; use Arcanedev\LogViewer\Contracts\Utilities\LogLevels as LogLevelsContract; use Arcanedev\LogViewer\Contracts\Utilities\LogMenu as LogMenuContract; use Arcanedev\LogViewer\Contracts\Utilities\LogStyler as LogStylerContract; use Arcanedev\LogViewer\LogViewer; use Arcanedev\LogViewer\Utilities; use Arcanedev\Support\Providers\ServiceProvider; use Illuminate\Contracts\Support\DeferrableProvider; /** * Class DeferredServicesProvider * * @author ARCANEDEV <arcanedev.maroc@gmail.com> */ class DeferredServicesProvider extends ServiceProvider implements DeferrableProvider { /* ----------------------------------------------------------------- | Main Methods | ----------------------------------------------------------------- */ /** * Register the service provider. */ public function register(): void { $this->registerLogViewer(); $this->registerLogLevels(); $this->registerStyler(); $this->registerLogMenu(); $this->registerFilesystem(); $this->registerFactory(); $this->registerChecker(); } /** * Get the services provided by the provider. * * @return array */ public function provides(): array { return [ LogViewerContract::class, LogLevelsContract::class, LogStylerContract::class, LogMenuContract::class, FilesystemContract::class, FactoryContract::class, LogCheckerContract::class, ]; } /* ----------------------------------------------------------------- | LogViewer Utilities | ----------------------------------------------------------------- */ /** * Register the log viewer service. */ private function registerLogViewer(): void { $this->singleton(LogViewerContract::class, LogViewer::class); } /** * Register the log levels. */ private function registerLogLevels(): void { $this->singleton(LogLevelsContract::class, function ($app) { return new Utilities\LogLevels( $app['translator'], $app['config']->get('log-viewer.locale') ); }); } /** * Register the log styler. */ private function registerStyler(): void { $this->singleton(LogStylerContract::class, Utilities\LogStyler::class); } /** * Register the log menu builder. */ private function registerLogMenu(): void { $this->singleton(LogMenuContract::class, Utilities\LogMenu::class); } /** * Register the log filesystem. */ private function registerFilesystem(): void { $this->singleton(FilesystemContract::class, function ($app) { /** @var \Illuminate\Config\Repository $config */ $config = $app['config']; $filesystem = new Utilities\Filesystem($app['files'], $config->get('log-viewer.storage-path')); return $filesystem->setPattern( $config->get('log-viewer.pattern.prefix', FilesystemContract::PATTERN_PREFIX), $config->get('log-viewer.pattern.date', FilesystemContract::PATTERN_DATE), $config->get('log-viewer.pattern.extension', FilesystemContract::PATTERN_EXTENSION) ); }); } /** * Register the log factory class. */ private function registerFactory(): void { $this->singleton(FactoryContract::class, Utilities\Factory::class); } /** * Register the log checker service. */ private function registerChecker(): void { $this->singleton(LogCheckerContract::class, Utilities\LogChecker::class); } }