• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

codeigniter4 / CodeIgniter4 / 15361302173

31 May 2025 07:04AM UTC coverage: 84.174% (-0.01%) from 84.187%
15361302173

push

github

web-flow
refactor: fix various phpstan errors in Log component (#9581)

* refactor Logs collector

* refactor Logger config

* refactor Logger

* refactor BaseHandler

* refactor FileHandler

* refactor Mock FileHandler

* refactor ErrorlogHandler

* refactor ChromeLoggerHandler

* regenerate baseline

* Fix per review

24 of 30 new or added lines in 4 files covered. (80.0%)

1 existing line in 1 file now uncovered.

20769 of 24674 relevant lines covered (84.17%)

191.61 hits per line

Source File
Press 'n' to go to next uncovered line, 'b' for previous

0.0
/system/Debug/Toolbar/Collectors/Logs.php
1
<?php
2

3
declare(strict_types=1);
4

5
/**
6
 * This file is part of CodeIgniter 4 framework.
7
 *
8
 * (c) CodeIgniter Foundation <admin@codeigniter.com>
9
 *
10
 * For the full copyright and license information, please view
11
 * the LICENSE file that was distributed with this source code.
12
 */
13

14
namespace CodeIgniter\Debug\Toolbar\Collectors;
15

16
/**
17
 * Loags collector
18
 */
19
class Logs extends BaseCollector
20
{
21
    /**
22
     * Whether this collector has data that can
23
     * be displayed in the Timeline.
24
     *
25
     * @var bool
26
     */
27
    protected $hasTimeline = false;
28

29
    /**
30
     * Whether this collector needs to display
31
     * content in a tab or not.
32
     *
33
     * @var bool
34
     */
35
    protected $hasTabContent = true;
36

37
    /**
38
     * The 'title' of this Collector.
39
     * Used to name things in the toolbar HTML.
40
     *
41
     * @var string
42
     */
43
    protected $title = 'Logs';
44

45
    /**
46
     * Our collected data.
47
     *
48
     * @var list<array{level: string, msg: string}>
49
     */
50
    protected $data;
51

52
    /**
53
     * Returns the data of this collector to be formatted in the toolbar.
54
     *
55
     * @return array{logs: list<array{level: string, msg: string}>}
56
     */
57
    public function display(): array
58
    {
59
        return [
×
60
            'logs' => $this->collectLogs(),
×
61
        ];
×
62
    }
63

64
    /**
65
     * Does this collector actually have any data to display?
66
     */
67
    public function isEmpty(): bool
68
    {
69
        $this->collectLogs();
×
70

NEW
71
        return $this->data !== [];
×
72
    }
73

74
    /**
75
     * Display the icon.
76
     *
77
     * Icon from https://icons8.com - 1em package
78
     */
79
    public function icon(): string
80
    {
81
        return 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAACYSURBVEhLYxgFJIHU1FSjtLS0i0D8AYj7gEKMEBkqAaAFF4D4ERCvAFrwH4gDoFIMKSkpFkB+OTEYqgUTACXfA/GqjIwMQyD9H2hRHlQKJFcBEiMGQ7VgAqCBvUgK32dmZspCpagGGNPT0/1BLqeF4bQHQJePpiIwhmrBBEADR1MRfgB0+WgqAmOoFkwANHA0FY0CUgEDAwCQ0PUpNB3kqwAAAABJRU5ErkJggg==';
×
82
    }
83

84
    /**
85
     * Ensures the data has been collected.
86
     *
87
     * @return list<array{level: string, msg: string}>
88
     */
89
    protected function collectLogs()
90
    {
NEW
91
        if ($this->data !== []) {
×
92
            return $this->data;
×
93
        }
94

NEW
95
        $cache = service('logger')->logCache;
×
96

NEW
97
        $this->data = $cache ?? [];
×
98

NEW
99
        return $this->data;
×
100
    }
101
}
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc