PluginProbe ʕ •ᴥ•ʔ
Weight Based Shipping Table Rate for WooCommerce – Flexible Shipping / 6.11.0
Weight Based Shipping Table Rate for WooCommerce – Flexible Shipping v6.11.0
6.12.1 6.12.0 6.11.0 6.10.0 6.9.1 6.9.0 6.8.1 6.8.0 6.7.4 6.7.3 6.7.2 6.7.0 4.21.7 4.22.0 4.22.1 4.23.0 4.23.1 4.23.2 4.23.3 4.24.0 4.24.1 4.24.10 4.24.11 4.24.12 4.24.13 4.24.14 4.24.15 4.24.16 4.24.17 4.24.18 4.24.19 4.24.2 4.24.4 4.24.6 4.24.7 4.24.8 4.24.9 4.25.0 4.25.1 4.25.2 4.25.4 4.25.5 4.25.6 4.25.7 4.25.8 4.3.0 4.3.1 4.4.0 4.4.1 4.5.0 4.5.1 4.6.0 4.6.1 4.7.0 4.7.1 4.7.2 4.8.0 4.8.1 4.8.3 4.8.4 4.8.5 4.9.0 5.0.0 5.0.1 5.0.2 5.0.3 5.0.4 5.0.5 5.0.6 5.0.7 5.0.8 5.0.9 5.1.0 5.1.1 5.1.2 5.1.3 5.2.0 5.3.0 5.3.1 5.3.3 5.3.4 5.3.5 6.0.0 6.1.0 6.1.1 6.1.2 6.2.0 6.2.1 6.2.2 6.2.3 6.2.4 6.3.0 trunk 6.4.0 1.4 6.4.1 1.4.1 6.4.2 1.5 6.4.3 1.6 6.4.5 1.6.1 6.5.0 1.6.2 6.5.1 1.7 6.5.2 1.8 6.5.3 1.9 6.5.4 1.9.1 6.5.5 1.9.10 6.5.6 1.9.11 6.5.7 1.9.12 6.5.8 1.9.2 6.6.0 1.9.3 6.6.1 1.9.4 6.6.2 1.9.5 1.9.6 1.9.7 1.9.8 1.9.9 2.0 2.0.1 2.1 2.1.1 2.1.10 2.1.2 2.1.3 2.1.4 2.1.5 2.1.6 2.1.7 2.1.8 2.1.9 3.0.6 3.0.7 3.1 3.1.1 3.1.10 3.1.11 3.1.12 3.1.2 3.1.3 3.1.4 3.1.5 3.1.6 3.1.7 3.1.8 3.1.9 3.10.0 3.11.0 3.11.1 3.11.2 3.11.3 3.11.4 3.12.0 3.13.0 3.14.0 3.14.1 3.14.2 3.14.3 3.14.4 3.15.0 3.16.0 3.16.1 3.16.2 3.16.3 3.16.4 3.16.5 3.2.0 3.3.1 3.3.10 3.3.11 3.3.12 3.3.13 3.3.14 3.3.2 3.3.3 3.3.4 3.3.5 3.3.6 3.3.7 3.3.8 3.3.9 3.4.0 3.5.0 3.5.1 3.6.0 3.6.1 3.6.2 3.6.3 3.6.4 3.7.0 3.8.0 3.9.0 3.9.1 3.9.10 3.9.11 3.9.12 3.9.13 3.9.15 3.9.16 3.9.17 3.9.18 3.9.19 3.9.2 3.9.20 3.9.21 3.9.3 3.9.4 3.9.5 3.9.6 3.9.7 3.9.9 4.0.0 4.0.1 4.0.10 4.0.2 4.0.3 4.0.4 4.0.5 4.0.6 4.0.7 4.0.8 4.0.9 4.1.0 4.1.1 4.1.2 4.1.3 4.1.4 4.10.0 4.10.1 4.11.0 4.11.1 4.11.2 4.11.3 4.11.4 4.11.5 4.11.6 4.11.7 4.11.8 4.11.9 4.12.0 4.13.0 4.13.1 4.13.2 4.13.3 4.14.0 4.14.1 4.14.2 4.15.0 4.16.0 4.16.1 4.16.2 4.17.0 4.18.0 4.18.1 4.18.2 4.18.3 4.18.4 4.18.5 4.18.6 4.19.0 4.19.1 4.2.0 4.20.0 4.20.1 4.20.2 4.20.3 4.21.0 4.21.1 4.21.2 4.21.3 4.21.4 4.21.5
flexible-shipping / vendor_prefixed / wpdesk / wp-logs / src / SimpleLoggerFactory.php
flexible-shipping / vendor_prefixed / wpdesk / wp-logs / src Last commit date
Processor 2 weeks ago WC 2 weeks ago WP 2 weeks ago deprecated 2 weeks ago BasicLoggerFactory.php 2 weeks ago LoggerFacade.php 2 weeks ago LoggerFactory.php 2 weeks ago Settings.php 2 weeks ago SimpleLoggerFactory.php 2 weeks ago WPDeskLoggerFactory.php 2 weeks ago
SimpleLoggerFactory.php
75 lines
1 <?php
2
3 declare (strict_types=1);
4 namespace FSVendor\WPDesk\Logger;
5
6 use FSVendor\Monolog\Handler\FingersCrossedHandler;
7 use FSVendor\Monolog\Handler\HandlerInterface;
8 use FSVendor\Monolog\Logger;
9 use FSVendor\Monolog\Handler\ErrorLogHandler;
10 use FSVendor\Monolog\Processor\PsrLogMessageProcessor;
11 use FSVendor\Monolog\Processor\UidProcessor;
12 use FSVendor\Psr\Log\LogLevel;
13 use FSVendor\WPDesk\Logger\WC\WooCommerceHandler;
14 final class SimpleLoggerFactory implements LoggerFactory
15 {
16 /**
17 * @var array{
18 * level?: string,
19 * action_level?: string|null,
20 * }
21 */
22 private $options;
23 /** @var string */
24 private $channel;
25 /** @var Logger */
26 private $logger;
27 /**
28 * Valid options are:
29 * * level (default debug): Default logging level
30 * * action_level: If value is set, it will act as the minimum level at which logger will be triggered using FingersCrossedHandler {@see https://seldaek.github.io/monolog/doc/02-handlers-formatters-processors.html#wrappers--special-handlers}
31 */
32 public function __construct(string $channel, $options = null)
33 {
34 $this->channel = $channel;
35 $options = $options ?? new Settings();
36 if ($options instanceof Settings) {
37 $options = $options->to_array();
38 }
39 $this->options = array_merge(['level' => LogLevel::DEBUG, 'action_level' => null], $options);
40 }
41 public function getLogger($name = null): Logger
42 {
43 if ($this->logger) {
44 return $this->logger;
45 }
46 $this->logger = new Logger($this->channel, [], [new PsrLogMessageProcessor(null, \true), new UidProcessor()], wp_timezone());
47 if (\function_exists('wc_get_logger') && \did_action('woocommerce_init')) {
48 $this->set_wc_handler();
49 } else {
50 \add_action('woocommerce_init', [$this, 'set_wc_handler']);
51 }
52 // In the worst-case scenario, when WC logs are not available (yet, or at all),
53 // fallback to WP logs, but only when enabled.
54 if (empty($this->logger->getHandlers()) && defined('WP_DEBUG_LOG') && \WP_DEBUG_LOG) {
55 $this->set_handler($this->logger, new ErrorLogHandler(ErrorLogHandler::OPERATING_SYSTEM, $this->options['level']));
56 }
57 return $this->logger;
58 }
59 /**
60 * @internal
61 */
62 public function set_wc_handler(): void
63 {
64 $this->set_handler($this->logger, new WooCommerceHandler(\wc_get_logger(), $this->channel));
65 }
66 private function set_handler(Logger $logger, HandlerInterface $handler): void
67 {
68 if (is_string($this->options['action_level'])) {
69 $handler = new FingersCrossedHandler($handler, $this->options['action_level']);
70 }
71 // Purposefully replace all existing handlers.
72 $logger->setHandlers([$handler]);
73 }
74 }
75