File "ActionScheduler_Logger.php"
Full path: /home/kosmetik/public_html/wp-content/plugins/woocommerce/packages/action-scheduler/classes/abstracts/ActionScheduler_Logger.php
File
size: 5.13 B
MIME-type: text/x-php
Charset: utf-8
Download Open Edit Advanced Editor Back
<?php
abstract class ActionScheduler_Logger
{
private static $logger = NULL;
public static function instance()
{
if (empty(self::$logger)) {
$class = apply_filters('action_scheduler_logger_class', 'ActionScheduler_wpCommentLogger');
self::$logger = new $class();
}
return self::$logger;
}
public abstract function log($action_id, $message, DateTime $date = NULL);
public abstract function get_entry($entry_id);
public abstract function get_logs($action_id);
public function init()
{
$this->hook_stored_action();
add_action('action_scheduler_canceled_action', array($this, 'log_canceled_action'), 10, 1);
add_action('action_scheduler_begin_execute', array($this, 'log_started_action'), 10, 2);
add_action('action_scheduler_after_execute', array($this, 'log_completed_action'), 10, 3);
add_action('action_scheduler_failed_execution', array($this, 'log_failed_action'), 10, 3);
add_action('action_scheduler_failed_action', array($this, 'log_timed_out_action'), 10, 2);
add_action('action_scheduler_unexpected_shutdown', array($this, 'log_unexpected_shutdown'), 10, 2);
add_action('action_scheduler_reset_action', array($this, 'log_reset_action'), 10, 1);
add_action('action_scheduler_execution_ignored', array($this, 'log_ignored_action'), 10, 2);
add_action('action_scheduler_failed_fetch_action', array($this, 'log_failed_fetch_action'), 10, 2);
add_action('action_scheduler_failed_to_schedule_next_instance', array($this, 'log_failed_schedule_next_instance'), 10, 2);
add_action('action_scheduler_bulk_cancel_actions', array($this, 'bulk_log_cancel_actions'), 10, 1);
}
public function hook_stored_action()
{
add_action('action_scheduler_stored_action', array($this, 'log_stored_action'));
}
public function unhook_stored_action()
{
remove_action('action_scheduler_stored_action', array($this, 'log_stored_action'));
}
public function log_stored_action($action_id)
{
$this->log($action_id, __('action created', 'woocommerce'));
}
public function log_canceled_action($action_id)
{
$this->log($action_id, __('action canceled', 'woocommerce'));
}
public function log_started_action($action_id, $context = '')
{
if (!empty($context)) {
$message = sprintf(__('action started via %s', 'woocommerce'), $context);
} else {
$message = __('action started', 'woocommerce');
}
$this->log($action_id, $message);
}
public function log_completed_action($action_id, $action = NULL, $context = '')
{
if (!empty($context)) {
$message = sprintf(__('action complete via %s', 'woocommerce'), $context);
} else {
$message = __('action complete', 'woocommerce');
}
$this->log($action_id, $message);
}
public function log_failed_action($action_id, Exception $exception, $context = '')
{
if (!empty($context)) {
$message = sprintf(__('action failed via %1$s: %2$s', 'woocommerce'), $context, $exception->getMessage());
} else {
$message = sprintf(__('action failed: %s', 'woocommerce'), $exception->getMessage());
}
$this->log($action_id, $message);
}
public function log_timed_out_action($action_id, $timeout)
{
$this->log($action_id, sprintf(__('action timed out after %s seconds', 'woocommerce'), $timeout));
}
public function log_unexpected_shutdown($action_id, $error)
{
if (!empty($error)) {
$this->log($action_id, sprintf(__('unexpected shutdown: PHP Fatal error %1$s in %2$s on line %3$s', 'woocommerce'), $error['message'], $error['file'], $error['line']));
}
}
public function log_reset_action($action_id)
{
$this->log($action_id, __('action reset', 'woocommerce'));
}
public function log_ignored_action($action_id, $context = '')
{
if (!empty($context)) {
$message = sprintf(__('action ignored via %s', 'woocommerce'), $context);
} else {
$message = __('action ignored', 'woocommerce');
}
$this->log($action_id, $message);
}
public function log_failed_fetch_action($action_id, Exception $exception = NULL)
{
if (!is_null($exception)) {
$log_message = sprintf(__('There was a failure fetching this action: %s', 'woocommerce'), $exception->getMessage());
} else {
$log_message = __('There was a failure fetching this action', 'woocommerce');
}
$this->log($action_id, $log_message);
}
public function log_failed_schedule_next_instance($action_id, Exception $exception)
{
$this->log($action_id, sprintf(__('There was a failure scheduling the next instance of this action: %s', 'woocommerce'), $exception->getMessage()));
}
public function bulk_log_cancel_actions($action_ids)
{
if (empty($action_ids)) {
return;
}
foreach ($action_ids as $action_id) {
$this->log_canceled_action($action_id);
}
}
}