Passed
Push — develop ( 28ee2c...8aa457 )
by Jens
10:01
created

SimpleLogger::log()   A

Complexity

Conditions 3
Paths 3

Size

Total Lines 10
Code Lines 7

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 0
CRAP Score 12

Importance

Changes 0
Metric Value
dl 0
loc 10
ccs 0
cts 10
cp 0
rs 9.4285
c 0
b 0
f 0
cc 3
eloc 7
nc 3
nop 3
crap 12
1
<?php
2
/**
3
 * Origin: https://github.com/guzzle/log-subscriber
4
 * Copyright (c) 2014 Michael Dowling, https://github.com/mtdowling <[email protected]>
5
 *
6
 * Permission is hereby granted, free of charge, to any person obtaining a copy
7
 * of this software and associated documentation files (the "Software"), to deal
8
 * in the Software without restriction, including without limitation the rights
9
 * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
10
 * copies of the Software, and to permit persons to whom the Software is
11
 * furnished to do so, subject to the following conditions:
12
 *
13
 * The above copyright notice and this permission notice shall be included in
14
 * all copies or substantial portions of the Software.
15
 *
16
 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
17
 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
18
 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
19
 * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
20
 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
21
 * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
22
 * THE SOFTWARE.
23
 */
24
namespace Commercetools\Core\Helper\Subscriber\Log;
25
26
use Psr\Log\LoggerTrait;
27
use Psr\Log\LoggerInterface;
28
29
/**
30
 * Simple logger implementation that can write to a function, resource, or
31
 * uses echo() if nothing is provided.
32
 */
33
class SimpleLogger implements LoggerInterface
34
{
35
    use LoggerTrait;
36
37
    private $writeTo;
38
39
    public function __construct($writeTo = null)
40
    {
41
        $this->writeTo = $writeTo;
42
    }
43
44
    public function log($level, $message, array $context = array())
45
    {
46
        if (is_resource($this->writeTo)) {
47
            fwrite($this->writeTo, "[{$level}] {$message}\n");
48
        } elseif (is_callable($this->writeTo)) {
49
            call_user_func($this->writeTo, "[{$level}] {$message}\n");
50
        } else {
51
            echo "[{$level}] {$message}\n";
52
        }
53
    }
54
}
55