Refactor Mailpoet\Logging\Logger to LoggerFactory

[MAILPOET-2444]
This commit is contained in:
Rostislav Wolny
2019-10-07 15:28:27 +02:00
committed by Jack Kitterhing
parent 1f2e1f9e4a
commit beccbea6e2
12 changed files with 55 additions and 55 deletions

View File

@ -3,7 +3,7 @@
namespace MailPoet\AutomaticEmails\WooCommerce\Events;
use MailPoet\AutomaticEmails\WooCommerce\WooCommerce;
use MailPoet\Logging\Logger;
use MailPoet\Logging\LoggerFactory;
use MailPoet\Models\Newsletter;
use MailPoet\Models\SendingQueue;
use MailPoet\Models\Subscriber;
@ -86,7 +86,7 @@ class FirstPurchase {
$result = (!empty($meta['order_date'])) ? WPFunctions::get()->dateI18n(get_option('date_format'), $meta['order_date']) : $default_value;
}
}
Logger::getLogger(self::SLUG)->addInfo(
LoggerFactory::getLogger(self::SLUG)->addInfo(
'handleOrderDateShortcode called', [
'newsletter_id' => ($newsletter instanceof Newsletter) ? $newsletter->id : null,
'subscriber_id' => ($subscriber instanceof Subscriber) ? $subscriber->id : null,
@ -109,7 +109,7 @@ class FirstPurchase {
$result = (!empty($meta['order_amount'])) ? $this->helper->wcPrice($meta['order_amount']) : $default_value;
}
}
Logger::getLogger(self::SLUG)->addInfo(
LoggerFactory::getLogger(self::SLUG)->addInfo(
'handleOrderTotalShortcode called', [
'newsletter_id' => ($newsletter instanceof Newsletter) ? $newsletter->id : null,
'subscriber_id' => ($subscriber instanceof Subscriber) ? $subscriber->id : null,
@ -124,7 +124,7 @@ class FirstPurchase {
function scheduleEmailWhenOrderIsPlaced($order_id) {
$order_details = $this->helper->wcGetOrder($order_id);
if (!$order_details || !$order_details->get_billing_email()) {
Logger::getLogger(self::SLUG)->addInfo(
LoggerFactory::getLogger(self::SLUG)->addInfo(
'Email not scheduled because the order customer was not found',
['order_id' => $order_id]
);
@ -134,7 +134,7 @@ class FirstPurchase {
$customer_email = $order_details->get_billing_email();
$customer_order_count = $this->getCustomerOrderCount($customer_email);
if ($customer_order_count > 1) {
Logger::getLogger(self::SLUG)->addInfo(
LoggerFactory::getLogger(self::SLUG)->addInfo(
'Email not scheduled because this is not the first order of the customer', [
'order_id' => $order_id,
'customer_email' => $customer_email,
@ -153,7 +153,7 @@ class FirstPurchase {
$subscriber = Subscriber::getWooCommerceSegmentSubscriber($customer_email);
if (!$subscriber instanceof Subscriber) {
Logger::getLogger(self::SLUG)->addInfo(
LoggerFactory::getLogger(self::SLUG)->addInfo(
'Email not scheduled because the customer was not found as WooCommerce list subscriber',
['order_id' => $order_id, 'customer_email' => $customer_email]
);
@ -164,7 +164,7 @@ class FirstPurchase {
return !$newsletter->wasScheduledForSubscriber($subscriber->id);
};
Logger::getLogger(self::SLUG)->addInfo(
LoggerFactory::getLogger(self::SLUG)->addInfo(
'Email scheduled', [
'order_id' => $order_id,
'customer_email' => $customer_email,

View File

@ -3,7 +3,7 @@
namespace MailPoet\AutomaticEmails\WooCommerce\Events;
use MailPoet\AutomaticEmails\WooCommerce\WooCommerce;
use MailPoet\Logging\Logger;
use MailPoet\Logging\LoggerFactory;
use MailPoet\Models\Subscriber;
use MailPoet\Newsletter\Scheduler\AutomaticEmailScheduler;
use MailPoet\WooCommerce\Helper as WCHelper;
@ -85,7 +85,7 @@ class PurchasedInCategory {
function scheduleEmail($order_id) {
$order_details = $this->woocommerce_helper->wcGetOrder($order_id);
if (!$order_details || !$order_details->get_billing_email()) {
Logger::getLogger(self::SLUG)->addInfo(
LoggerFactory::getLogger(self::SLUG)->addInfo(
'Email not scheduled because the order customer was not found',
['order_id' => $order_id]
);
@ -96,7 +96,7 @@ class PurchasedInCategory {
$subscriber = Subscriber::getWooCommerceSegmentSubscriber($customer_email);
if (!$subscriber instanceof Subscriber) {
Logger::getLogger(self::SLUG)->addInfo(
LoggerFactory::getLogger(self::SLUG)->addInfo(
'Email not scheduled because the customer was not found as WooCommerce list subscriber',
['order_id' => $order_id, 'customer_email' => $customer_email]
);
@ -119,7 +119,7 @@ class PurchasedInCategory {
return !empty($matched_categories);
};
Logger::getLogger(self::SLUG)->addInfo(
LoggerFactory::getLogger(self::SLUG)->addInfo(
'Email scheduled', [
'order_id' => $order_id,
'customer_email' => $customer_email,

View File

@ -3,7 +3,7 @@
namespace MailPoet\AutomaticEmails\WooCommerce\Events;
use MailPoet\AutomaticEmails\WooCommerce\WooCommerce;
use MailPoet\Logging\Logger;
use MailPoet\Logging\LoggerFactory;
use MailPoet\Models\Subscriber;
use MailPoet\Newsletter\Scheduler\AutomaticEmailScheduler;
use MailPoet\WooCommerce\Helper as WCHelper;
@ -77,7 +77,7 @@ class PurchasedProduct {
$woocommerce_products = new \WP_Query($args);
$woocommerce_products = $woocommerce_products->get_posts();
if (empty($woocommerce_products)) {
Logger::getLogger(self::SLUG)->addInfo(
LoggerFactory::getLogger(self::SLUG)->addInfo(
'no products found', ['search_query' => $product_search_query]
);
return;
@ -95,7 +95,7 @@ class PurchasedProduct {
function scheduleEmailWhenProductIsPurchased($order_id) {
$order_details = $this->helper->wcGetOrder($order_id);
if (!$order_details || !$order_details->get_billing_email()) {
Logger::getLogger(self::SLUG)->addInfo(
LoggerFactory::getLogger(self::SLUG)->addInfo(
'Email not scheduled because the order customer was not found',
['order_id' => $order_id]
);
@ -106,7 +106,7 @@ class PurchasedProduct {
$subscriber = Subscriber::getWooCommerceSegmentSubscriber($customer_email);
if (!$subscriber instanceof Subscriber) {
Logger::getLogger(self::SLUG)->addInfo(
LoggerFactory::getLogger(self::SLUG)->addInfo(
'Email not scheduled because the customer was not found as WooCommerce list subscriber',
['order_id' => $order_id, 'customer_email' => $customer_email]
);
@ -129,7 +129,7 @@ class PurchasedProduct {
return !empty($matched_products);
};
Logger::getLogger(self::SLUG)->addInfo(
LoggerFactory::getLogger(self::SLUG)->addInfo(
'Email scheduled', [
'order_id' => $order_id,
'customer_email' => $customer_email,

View File

@ -4,7 +4,7 @@ namespace MailPoet\Cron\Workers;
use Carbon\Carbon;
use MailPoet\Cron\CronHelper;
use MailPoet\Logging\Logger;
use MailPoet\Logging\LoggerFactory;
use MailPoet\Models\Newsletter;
use MailPoet\Models\ScheduledTask;
use MailPoet\Models\Segment;
@ -78,14 +78,14 @@ class Scheduler {
}
function processPostNotificationNewsletter($newsletter, $queue) {
Logger::getLogger('post-notifications')->addInfo(
LoggerFactory::getLogger('post-notifications')->addInfo(
'process post notification in scheduler',
['newsletter_id' => $newsletter->id, 'task_id' => $queue->task_id]
);
// ensure that segments exist
$segments = $newsletter->segments()->findMany();
if (empty($segments)) {
Logger::getLogger('post-notifications')->addInfo(
LoggerFactory::getLogger('post-notifications')->addInfo(
'post notification no segments',
['newsletter_id' => $newsletter->id, 'task_id' => $queue->task_id]
);
@ -97,7 +97,7 @@ class Scheduler {
$subscribers_count = $this->subscribers_finder->addSubscribersToTaskFromSegments($queue->task(), $segments);
if (empty($subscribers_count)) {
Logger::getLogger('post-notifications')->addInfo(
LoggerFactory::getLogger('post-notifications')->addInfo(
'post notification no subscribers',
['newsletter_id' => $newsletter->id, 'task_id' => $queue->task_id]
);
@ -114,7 +114,7 @@ class Scheduler {
$queue->save();
// update notification status
$notification_history->setStatus(Newsletter::STATUS_SENDING);
Logger::getLogger('post-notifications')->addInfo(
LoggerFactory::getLogger('post-notifications')->addInfo(
'post notification set status to sending',
['newsletter_id' => $newsletter->id, 'task_id' => $queue->task_id]
);

View File

@ -7,7 +7,7 @@ use MailPoet\Cron\Workers\SendingQueue\Tasks\Links;
use MailPoet\Cron\Workers\SendingQueue\Tasks\Mailer as MailerTask;
use MailPoet\Cron\Workers\SendingQueue\Tasks\Newsletter as NewsletterTask;
use MailPoet\Cron\Workers\StatsNotifications\Scheduler as StatsNotificationsScheduler;
use MailPoet\Logging\Logger;
use MailPoet\Logging\LoggerFactory;
use MailPoet\Mailer\MailerError;
use MailPoet\Mailer\MailerLog;
use MailPoet\Mailer\MetaInfo;
@ -55,7 +55,7 @@ class SendingQueue {
if (!$queue instanceof SendingTask) continue;
ScheduledTaskModel::touchAllByIds([$queue->task_id]);
Logger::getLogger('newsletters')->addInfo(
LoggerFactory::getLogger('newsletters')->addInfo(
'sending queue processing',
['task_id' => $queue->task_id]
);
@ -66,7 +66,7 @@ class SendingQueue {
// pre-process newsletter (render, replace shortcodes/links, etc.)
$newsletter = $this->newsletter_task->preProcessNewsletter($newsletter, $queue);
if (!$newsletter) {
Logger::getLogger('newsletters')->addInfo(
LoggerFactory::getLogger('newsletters')->addInfo(
'delete task in sending queue',
['task_id' => $queue->task_id]
);
@ -87,7 +87,7 @@ class SendingQueue {
// get subscribers
$subscriber_batches = new BatchIterator($queue->task_id, $this->batch_size);
foreach ($subscriber_batches as $subscribers_to_process_ids) {
Logger::getLogger('newsletters')->addInfo(
LoggerFactory::getLogger('newsletters')->addInfo(
'subscriber batch processing',
['newsletter_id' => $newsletter->id, 'task_id' => $queue->task_id, 'subscriber_batch_count' => count($subscribers_to_process_ids)]
);
@ -118,7 +118,7 @@ class SendingQueue {
continue;
}
}
Logger::getLogger('newsletters')->addInfo(
LoggerFactory::getLogger('newsletters')->addInfo(
'before queue chunk processing',
['newsletter_id' => $newsletter->id, 'task_id' => $queue->task_id, 'found_subscribers_count' => count($found_subscribers)]
);
@ -127,12 +127,12 @@ class SendingQueue {
$_newsletter,
$found_subscribers
);
Logger::getLogger('newsletters')->addInfo(
LoggerFactory::getLogger('newsletters')->addInfo(
'after queue chunk processing',
['newsletter_id' => $newsletter->id, 'task_id' => $queue->task_id]
);
if ($queue->status === ScheduledTaskModel::STATUS_COMPLETED) {
Logger::getLogger('newsletters')->addInfo(
LoggerFactory::getLogger('newsletters')->addInfo(
'completed newsletter sending',
['newsletter_id' => $newsletter->id, 'task_id' => $queue->task_id]
);

View File

@ -5,7 +5,7 @@ namespace MailPoet\Cron\Workers\SendingQueue\Tasks;
use MailPoet\Cron\Workers\SendingQueue\Tasks\Links as LinksTask;
use MailPoet\Cron\Workers\SendingQueue\Tasks\Posts as PostsTask;
use MailPoet\Cron\Workers\SendingQueue\Tasks\Shortcodes as ShortcodesTask;
use MailPoet\Logging\Logger;
use MailPoet\Logging\LoggerFactory;
use MailPoet\Mailer\MailerLog;
use MailPoet\Models\Newsletter as NewsletterModel;
use MailPoet\Models\NewsletterSegment as NewsletterSegmentModel;
@ -74,7 +74,7 @@ class Newsletter {
$this->stopNewsletterPreProcessing(sprintf('QUEUE-%d-RENDER', $sending_task->id)) :
$newsletter;
}
Logger::getLogger('newsletters')->addInfo(
LoggerFactory::getLogger('newsletters')->addInfo(
'pre-processing newsletter',
['newsletter_id' => $newsletter->id, 'task_id' => $sending_task->task_id]
);
@ -105,7 +105,7 @@ class Newsletter {
$this->posts_task->getAlcPostsCount($rendered_newsletter, $newsletter) === 0
) {
// delete notification history record since it will never be sent
Logger::getLogger('post-notifications')->addInfo(
LoggerFactory::getLogger('post-notifications')->addInfo(
'no posts in post notification, deleting it',
['newsletter_id' => $newsletter->id, 'task_id' => $sending_task->task_id]
);

View File

@ -2,7 +2,7 @@
namespace MailPoet\Cron\Workers\SendingQueue\Tasks;
use MailPoet\Logging\Logger;
use MailPoet\Logging\LoggerFactory;
use MailPoet\Models\Newsletter as NewsletterModel;
use MailPoet\Models\NewsletterPost;
@ -11,7 +11,7 @@ class Posts {
if ($newsletter->type !== NewsletterModel::TYPE_NOTIFICATION_HISTORY) {
return false;
}
Logger::getLogger('post-notifications')->addInfo(
LoggerFactory::getLogger('post-notifications')->addInfo(
'extract and save posts - before',
['newsletter_id' => $newsletter->id]
);
@ -30,7 +30,7 @@ class Posts {
$newsletter_post->post_id = $post_id;
$newsletter_post->save();
}
Logger::getLogger('post-notifications')->addInfo(
LoggerFactory::getLogger('post-notifications')->addInfo(
'extract and save posts - after',
['newsletter_id' => $newsletter->id, 'matched_posts_ids' => $matched_posts_ids]
);

View File

@ -22,7 +22,7 @@ use MailPoetVendor\Monolog\Processor\WebProcessor;
*
* If WP_DEBUG is true additional information will be added to every log message.
*/
class Logger {
class LoggerFactory {
/** @var \MailPoetVendor\Monolog\Logger[] */
private static $instance = [];

View File

@ -2,7 +2,7 @@
namespace MailPoet\Newsletter;
use MailPoet\Logging\Logger;
use MailPoet\Logging\LoggerFactory;
use MailPoet\Newsletter\Editor\Transformer;
use MailPoet\WP\Functions as WPFunctions;
@ -42,7 +42,7 @@ class AutomatedLatestContent {
$current_user_id = WPFunctions::get()->getCurrentUserId();
WPFunctions::get()->wpSetCurrentUser(0);
Logger::getLogger('post-notifications')->addInfo(
LoggerFactory::getLogger('post-notifications')->addInfo(
'loading automated latest content',
['args' => $args, 'posts_to_exclude' => $posts_to_exclude, 'newsletter_id' => $this->newsletter_id, 'newer_than_timestamp' => $this->newer_than_timestamp]
);
@ -91,7 +91,7 @@ class AutomatedLatestContent {
WPFunctions::get()->addAction('pre_get_posts', [$this, 'ensureConsistentQueryType'], $filter_priority);
$this->_attachSentPostsFilter();
Logger::getLogger('post-notifications')->addInfo(
LoggerFactory::getLogger('post-notifications')->addInfo(
'getting automated latest content',
['parameters' => $parameters]
);
@ -166,7 +166,7 @@ class AutomatedLatestContent {
'post_date' => $post->post_date,
];
}
Logger::getLogger('post-notifications')->addInfo(
LoggerFactory::getLogger('post-notifications')->addInfo(
'automated latest content loaded posts',
['posts' => $posts_to_log]
);

View File

@ -2,7 +2,7 @@
namespace MailPoet\Newsletter\Scheduler;
use MailPoet\Logging\Logger;
use MailPoet\Logging\LoggerFactory;
use MailPoet\Models\Newsletter;
use MailPoet\Models\NewsletterOption;
use MailPoet\Models\NewsletterOptionField;
@ -24,7 +24,7 @@ class PostNotificationScheduler {
const INTERVAL_MONTHLY = 'monthly';
function transitionHook($new_status, $old_status, $post) {
Logger::getLogger('post-notifications')->addInfo(
LoggerFactory::getLogger('post-notifications')->addInfo(
'transition post notification hook initiated',
[
'post_id' => $post->ID,
@ -40,7 +40,7 @@ class PostNotificationScheduler {
}
function schedulePostNotification($post_id) {
Logger::getLogger('post-notifications')->addInfo(
LoggerFactory::getLogger('post-notifications')->addInfo(
'schedule post notification hook',
['post_id' => $post_id]
);
@ -88,7 +88,7 @@ class PostNotificationScheduler {
$sending_task->status = SendingQueue::STATUS_SCHEDULED;
$sending_task->scheduled_at = $next_run_date;
$sending_task->save();
Logger::getLogger('post-notifications')->addInfo(
LoggerFactory::getLogger('post-notifications')->addInfo(
'schedule post notification',
['sending_task' => $sending_task->id(), 'scheduled_at' => $next_run_date]
);

View File

@ -2,7 +2,7 @@
namespace MailPoet\Services\Bridge;
use MailPoet\Logging\Logger;
use MailPoet\Logging\LoggerFactory;
use MailPoet\WP\Functions as WPFunctions;
class API {
@ -81,7 +81,7 @@ class API {
}
function logCurlInformation($headers, $info) {
Logger::getLogger('mss')->addInfo(
LoggerFactory::getLogger('mss')->addInfo(
'requests-curl.after_request',
['headers' => $headers, 'curl_info' => $info]
);

View File

@ -15,31 +15,31 @@ class LoggerTest extends \MailPoetTest {
}
public function testItCreatesLogger() {
$logger = Logger::getLogger('logger-name');
$logger = LoggerFactory::getLogger('logger-name');
expect($logger)->isInstanceOf(\MailPoetVendor\Monolog\Logger::class);
}
public function testItReturnsInstance() {
$logger1 = Logger::getLogger('logger-name');
$logger2 = Logger::getLogger('logger-name');
$logger1 = LoggerFactory::getLogger('logger-name');
$logger2 = LoggerFactory::getLogger('logger-name');
expect($logger1)->same($logger2);
}
public function testItAttachesProcessors() {
$logger1 = Logger::getLogger('logger-with-processors', true);
$logger1 = LoggerFactory::getLogger('logger-with-processors', true);
$processors = $logger1->getProcessors();
expect($processors)->notEmpty();
}
public function testItDoesNotAttachProcessors() {
define(WP_DEBUG, false);
$logger1 = Logger::getLogger('logger-without-processors', false);
$logger1 = LoggerFactory::getLogger('logger-without-processors', false);
$processors = $logger1->getProcessors();
expect($processors)->isEmpty();
}
public function testItAttachesHandler() {
$logger1 = Logger::getLogger('logger-with-handler');
$logger1 = LoggerFactory::getLogger('logger-with-handler');
$handlers = $logger1->getHandlers();
expect($handlers)->notEmpty();
expect($handlers[0])->isInstanceOf(LogHandler::class);
@ -47,28 +47,28 @@ class LoggerTest extends \MailPoetTest {
public function testItSetsDefaultLoggingLevel() {
$this->settings->set('logging', null);
$logger1 = Logger::getLogger('logger-with-handler');
$logger1 = LoggerFactory::getLogger('logger-with-handler');
$handlers = $logger1->getHandlers();
expect($handlers[0]->getLevel())->equals(\MailPoetVendor\Monolog\Logger::ERROR);
}
public function testItSetsLoggingLevelForNothing() {
$this->settings->set('logging', 'nothing');
$logger1 = Logger::getLogger('logger-for-nothing');
$logger1 = LoggerFactory::getLogger('logger-for-nothing');
$handlers = $logger1->getHandlers();
expect($handlers[0]->getLevel())->equals(\MailPoetVendor\Monolog\Logger::EMERGENCY);
}
public function testItSetsLoggingLevelForErrors() {
$this->settings->set('logging', 'errors');
$logger1 = Logger::getLogger('logger-for-errors');
$logger1 = LoggerFactory::getLogger('logger-for-errors');
$handlers = $logger1->getHandlers();
expect($handlers[0]->getLevel())->equals(\MailPoetVendor\Monolog\Logger::ERROR);
}
public function testItSetsLoggingLevelForEverything() {
$this->settings->set('logging', 'everything');
$logger1 = Logger::getLogger('logger-for-everything');
$logger1 = LoggerFactory::getLogger('logger-for-everything');
$handlers = $logger1->getHandlers();
expect($handlers[0]->getLevel())->equals(\MailPoetVendor\Monolog\Logger::DEBUG);
}