HEX
Server: LiteSpeed
System: Linux venus 5.15.0-153-generic #163-Ubuntu SMP Thu Aug 7 16:37:18 UTC 2025 x86_64
User: axxoncom (1007)
PHP: 8.3.19
Disabled: exec,system,passthru,shell_exec,proc_close,proc_open,dl,popen,show_source,posix_kill,posix_mkfifo,posix_getpwuid,posix_setpgid,posix_setsid,posix_setuid,posix_setgid,posix_seteuid,posix_setegid,posix_uname
Upload Files
File: /home/axxoncom/public_html/wp-content/plugins/wp-statistics/src/Traits/ErrorLoggerTrait.php
<?php
namespace WP_Statistics\Traits;

use WP_Statistics\Service\Debugger\Provider\ErrorsDetectorProvider;

/**
* Trait for handling error logging functionality.
* 
* This trait provides methods for logging errors consistently across classes.
* Uses ErrorDetectorProvider to store errors and implements basic caching
* to avoid creating multiple provider instances.
*/
trait ErrorLoggerTrait
{
   /**
    * Cached instance of ErrorDetectorProvider.
    *
    * @var ErrorsDetectorProvider|null
    */
   private static $errorDetector = null;

   /**
    * Log errors using ErrorsDetectorProvider
    * 
    * Logs the most recent PHP error using a cached instance 
    * of ErrorsDetectorProvider to avoid multiple instantiations.
    *
    * @return void
    */
   protected static function errorListener()
   {
       if (self::$errorDetector === null) {
           self::$errorDetector = new ErrorsDetectorProvider();
       }
       
       self::$errorDetector->errorListener();
   }
}