Log::getMessage()   A
last analyzed

Complexity

Conditions 1
Paths 1

Size

Total Lines 3
Code Lines 1

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 1
CRAP Score 1

Importance

Changes 0
Metric Value
eloc 1
dl 0
loc 3
ccs 1
cts 1
cp 1
rs 10
c 0
b 0
f 0
cc 1
nc 1
nop 0
crap 1
1
<?php
2
3
namespace Norsys\LogsBundle\Model;
4
5
/**
6
 * Class Log
7
 */
8
class Log
9
{
10
    /**
11
     * @var integer
12
     */
13
    protected $id;
14
15
    /**
16
     * @var string
17
     */
18
    protected $channel;
19
20
    /**
21
     * @var integer
22
     */
23
    protected $level;
24
25
    /**
26
     * @var string
27
     */
28
    protected $levelName;
29
30
    /**
31
     * @var string
32
     */
33
    protected $message;
34
35
    /**
36
     * @var \DateTime
37
     */
38
    protected $date;
39
40
    /**
41
     * @var array
42
     */
43
    protected $context;
44
45
    /**
46
     * @var array
47
     */
48
    protected $extra;
49
50
    /**
51
     * @var array
52
     */
53
    protected $serverData;
54
55
    /**
56
     * @var array
57
     */
58
    protected $postData;
59
60
    /**
61
     * @var array
62
     */
63
    protected $getData;
64
65
    /**
66
     * Log constructor.
67
     *
68
     * @param array $data
69
     *
70
     * @throws \InvalidArgumentException
71
     */
72
    public function __construct(array $data)
73
    {
74 1
        if (isset($data['id']) === false) {
75 1
            throw new \InvalidArgumentException();
76
        }
77
78 1
        $this->id         = $data['id'];
79 1
        $this->channel    = $data['channel'];
80 1
        $this->level      = $data['level'];
81 1
        $this->levelName  = $data['level_name'];
82 1
        $this->message    = $data['message'];
83 1
        $this->date       = new \DateTime($data['datetime']);
84 1
        $this->context    = (isset($data['context']) === true) ? json_decode($data['context'], true) : array();
85 1
        $this->extra      = (isset($data['extra']) === true) ? json_decode($data['extra'], true) : array();
86 1
        $this->serverData = (isset($data['http_server']) === true) ? json_decode($data['http_server'], true) : array();
87 1
        $this->postData   = (isset($data['http_post']) === true) ? json_decode($data['http_post'], true) : array();
88 1
        $this->getData    = (isset($data['http_get']) === true) ? json_decode($data['http_get'], true) : array();
89 1
    }
90
91
    /**
92
     * @return string
93
     */
94
    public function __toString()
95
    {
96 1
        return (mb_strlen($this->message) > 100) ? sprintf('%s...', mb_substr($this->message, 0, 100)) : $this->message;
97
    }
98
99
    /**
100
     * @return integer
101
     */
102
    public function getId()
103
    {
104 1
        return $this->id;
105
    }
106
107
    /**
108
     * @return string
109
     */
110
    public function getChannel()
111
    {
112 1
        return $this->channel;
113
    }
114
115
    /**
116
     * @return string
117
     */
118
    public function getLevel()
119
    {
120 1
        return $this->level;
121
    }
122
123
    /**
124
     * @return string
125
     */
126
    public function getLevelName()
127
    {
128 1
        return $this->levelName;
129
    }
130
131
    /**
132
     * @return string
133
     */
134
    public function getMessage()
135
    {
136 1
        return $this->message;
137
    }
138
139
    /**
140
     * @return \DateTime
141
     */
142
    public function getDate()
143
    {
144 1
        return $this->date;
145
    }
146
147
    /**
148
     * @return array
149
     */
150
    public function getContext()
151
    {
152 1
        return $this->context;
153
    }
154
155
    /**
156
     * @return array
157
     */
158
    public function getExtra()
159
    {
160 1
        return $this->extra;
161
    }
162
163
    /**
164
     * @return array
165
     */
166
    public function getServerData()
167
    {
168 1
        return $this->serverData;
169
    }
170
171
    /**
172
     * @return array
173
     */
174
    public function getPostData()
175
    {
176 1
        return $this->postData;
177
    }
178
179
    /**
180
     * @return array
181
     */
182
    public function getGetData()
183
    {
184 1
        return $this->getData;
185
    }
186
}
187