Issues (25)

src/Kernel/Providers/LogServiceProvider.php (1 issue)

Labels
Severity
1
<?php
2
3
/*
4
 * This file is part of the docodeit/wechat.
5
 *
6
 * (c) docodeit <[email protected]>
7
 *
8
 * This source file is subject to the MIT license that is bundled
9
 * with this source code in the file LICENSE.
10
 */
11
12
namespace EasyWeChat\Kernel\Providers;
13
14
use EasyWeChat\Kernel\Log\LogManager;
0 ignored issues
show
The type EasyWeChat\Kernel\Log\LogManager was not found. Maybe you did not declare it correctly or list all dependencies?

The issue could also be caused by a filter entry in the build configuration. If the path has been excluded in your configuration, e.g. excluded_paths: ["lib/*"], you can move it to the dependency path list as follows:

filter:
    dependency_paths: ["lib/*"]

For further information see https://scrutinizer-ci.com/docs/tools/php/php-scrutinizer/#list-dependency-paths

Loading history...
15
use Pimple\Container;
16
use Pimple\ServiceProviderInterface;
17
18
/**
19
 * Class LoggingServiceProvider.
20
 *
21
 * @author docodeit <[email protected]>
22
 */
23
class LogServiceProvider implements ServiceProviderInterface
24
{
25
    /**
26
     * Registers services on the given container.
27
     *
28
     * This method should only be used to configure services and parameters.
29
     * It should not get services.
30
     *
31
     * @param Container $pimple A container instance
32
     */
33
    public function register(Container $pimple)
34
    {
35
        $pimple['logger'] = $pimple['log'] = function ($app) {
36
            $config = $this->formatLogConfig($app);
37
38
            if (!empty($config)) {
39
                $app['config']->merge($config);
40
            }
41
42
            return new LogManager($app);
43
        };
44
    }
45
46
    public function formatLogConfig($app)
47
    {
48
        if (empty($app['config']->get('log'))) {
49
            return [
50
                'log' => [
51
                    'default' => 'errorlog',
52
                    'channels' => [
53
                        'errorlog' => [
54
                            'driver' => 'errorlog',
55
                            'level' => 'debug',
56
                        ],
57
                    ],
58
                ],
59
            ];
60
        }
61
62
        // 4.0 version
63
        if (empty($app['config']->get('log.driver'))) {
64
            return [
65
                'log' => [
66
                    'default' => 'single',
67
                    'channels' => [
68
                        'single' => [
69
                            'driver' => 'single',
70
                            'path' => $app['config']->get('log.file') ?: \sys_get_temp_dir().'/logs/easywechat.log',
71
                            'level' => $app['config']->get('log.level', 'debug'),
72
                        ],
73
                    ],
74
                ],
75
            ];
76
        }
77
78
        $name = $app['config']->get('log.driver');
79
80
        return [
81
            'log' => [
82
                'default' => $name,
83
                'channels' => [
84
                    $name => $app['config']->get('log'),
85
                ],
86
            ],
87
        ];
88
    }
89
}
90