PluginProbe ʕ •ᴥ•ʔ
Weight Based Shipping Table Rate for WooCommerce – Flexible Shipping / 6.12.1
Weight Based Shipping Table Rate for WooCommerce – Flexible Shipping v6.12.1
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 1 week ago WC 1 week ago WP 1 week ago deprecated 1 week ago BasicLoggerFactory.php 1 week ago LoggerFacade.php 1 week ago LoggerFactory.php 1 week ago Settings.php 1 week ago SimpleLoggerFactory.php 1 week ago WPDeskLoggerFactory.php 1 week 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