Code Coverage
 
Lines
Functions and Methods
Classes and Traits
Total
66.67% covered (warning)
66.67%
2 / 3
100.00% covered (success)
100.00%
2 / 2
CRAP
100.00% covered (success)
100.00%
1 / 1
Logger_Trait
100.00% covered (success)
100.00%
2 / 2
100.00% covered (success)
100.00%
2 / 2
2
100.00% covered (success)
100.00%
1 / 1
 set_logger
100.00% covered (success)
100.00%
1 / 1
100.00% covered (success)
100.00%
1 / 1
1
 get_logger
100.00% covered (success)
100.00%
1 / 1
100.00% covered (success)
100.00%
1 / 1
1
1<?php
2/**
3 * Shared logger accessor for CSV report export classes.
4 *
5 * @package automattic/jetpack-premium-analytics
6 */
7
8declare( strict_types=1 );
9
10namespace Automattic\Jetpack\PremiumAnalytics\Reports\Export\Support;
11
12use Automattic\Jetpack\PremiumAnalytics\Reports\Export\Logging\Logger_Interface;
13
14defined( 'ABSPATH' ) || exit;
15
16/**
17 * Trait Logger_Trait
18 *
19 * @since 0.1.0
20 */
21trait Logger_Trait {
22
23    /**
24     * Logger instance.
25     *
26     * @var Logger_Interface|null
27     */
28    private $logger = null;
29
30    /**
31     * Set the logger object.
32     *
33     * @param Logger_Interface $logger The logger object.
34     *
35     * @return void
36     */
37    public function set_logger( Logger_Interface $logger ): void {
38        $this->logger = $logger;
39    }
40
41    /**
42     * Get the logger object.
43     *
44     * @return Logger_Interface|null
45     */
46    public function get_logger(): ?Logger_Interface {
47        return $this->logger;
48    }
49}