__ __ __ __ _____ _ _ _____ _ _ _ | \/ | \ \ / / | __ \ (_) | | / ____| | | | | | \ / |_ __\ V / | |__) | __ ___ ____ _| |_ ___ | (___ | |__ ___| | | | |\/| | '__|> < | ___/ '__| \ \ / / _` | __/ _ \ \___ \| '_ \ / _ \ | | | | | | |_ / . \ | | | | | |\ V / (_| | || __/ ____) | | | | __/ | | |_| |_|_(_)_/ \_\ |_| |_| |_| \_/ \__,_|\__\___| |_____/|_| |_|\___V 2.1 if you need WebShell for Seo everyday contact me on Telegram Telegram Address : @jackleetFor_More_Tools:
<?php
namespace WP_Statistics\Service\Logger;
use WP_Statistics\Service\Logger\Provider\FileProvider;
use WP_Statistics\Service\Logger\Provider\TrackerProvider;
/**
* Factory for creating logger services with different providers.
*/
class LoggerFactory
{
/**
* @var string|null Logger type.
*/
private static $loggerType = null;
/**
* Creates a logger service based on the provided type.
*
* @param string|null $type Logger type ('tracker' or 'file').
* @return LoggerService The logger service instance.
*/
public static function logger($type = null)
{
self::$loggerType = $type;
$provider = self::getProviderInstance();
$loggerService = new LoggerService($provider);
return $loggerService->getProvider();
}
/**
* Returns the appropriate provider instance.
*
* @return object The provider instance (TrackerProvider or FileProvider).
*/
public static function getProviderInstance()
{
$providerName = is_null(self::$loggerType) || 'tracker' === self::$loggerType
? TrackerProvider::class
: FileProvider::class;
if (class_exists($providerName)) {
return new $providerName();
}
return new TrackerProvider();
}
}
| Name | Type | Size | Permission | Actions |
|---|---|---|---|---|
| Provider | Folder | 0755 |
|
|
| AbstractLoggerProvider.php | File | 2.45 KB | 0644 |
|
| LoggerFactory.php | File | 1.29 KB | 0644 |
|
| LoggerService.php | File | 831 B | 0644 |
|
| LoggerServiceProviderInterface.php | File | 966 B | 0644 |
|