PluginProbe
JCH Optimize / trunk
JCH Optimize vtrunk
6.0.2 6.0.1 trunk 1.0.1 1.0.2 1.1.0 1.1.1 1.1.2 1.1.3 1.1.4 1.2.0 1.2.1 2.0.0 2.0.1 2.0.2 2.0.3 2.0.4 2.0.5 2.0.6 2.0.7 2.0.8 2.1.0 2.10.0 2.2.0 2.2.1 All 58 releases
jch-optimize / src / Log / WordpressNoticeLogger.php

WordpressNoticeLogger.php in JCH Optimize trunk, at src/Log/WordpressNoticeLogger.php

44 lines 1.2 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2
3 /**
4 * JCH Optimize - Performs several front-end optimizations for fast downloads
5 *
6 * @package jchoptimize/wordpress-platform
7 * @author Samuel Marshall <samuel@jch-optimize.net>
8 * @copyright Copyright (c) 2021 Samuel Marshall / JCH Optimize
9 * @license GNU/GPLv3, or later. See LICENSE file
10 *
11 * If LICENSE file missing, see <http://www.gnu.org/licenses/>.
12 */
13
14 namespace JchOptimize\WordPress\Log;
15
16 use _JchOptimizeVendor\V91\Psr\Log\AbstractLogger;
17
18 use function array_merge;
19 use function array_unique;
20 use function get_transient;
21 use function set_transient;
22
23 class WordpressNoticeLogger extends AbstractLogger
24 {
25 public function success(string $message, array $context = []): void
26 {
27 $this->log('success', $message, $context);
28 }
29
30 public function log($level, $message, array $context = array()): void
31 {
32 $messages = [
33 ['message' => $message, 'type' => $level]
34 ];
35
36 /** @var array $existingMessages */
37 if ($existingMessages = get_transient('jch-optimize_notices')) {
38 $messages = array_merge($existingMessages, $messages);
39 }
40
41 set_transient('jch-optimize_notices', array_unique($messages), 60 * 5);
42 }
43 }
44