TYPO3
7.6
Users
bogdan
Projects
Kapeli
Resources
Dash
Docsets
TYPO3
src
typo3
sysext
core
Classes
Log
Writer
PhpErrorLogWriter.php
Go to the documentation of this file.
1
<?php
2
namespace
TYPO3\CMS\Core\Log\Writer;
3
4
/*
5
* This file is part of the TYPO3 CMS project.
6
*
7
* It is free software; you can redistribute it and/or modify it under
8
* the terms of the GNU General Public License, either version 2
9
* of the License, or any later version.
10
*
11
* For the full copyright and license information, please read the
12
* LICENSE.txt file that was distributed with this source code.
13
*
14
* The TYPO3 project - inspiring people to share!
15
*/
16
use
TYPO3\CMS\Core\Log\LogRecord
;
17
use
TYPO3\CMS\Core\Log\LogLevel
;
18
22
class
PhpErrorLogWriter
extends
AbstractWriter
23
{
31
public
function
writeLog
(
LogRecord
$record)
32
{
33
$levelName =
LogLevel::getName
($record->
getLevel
());
34
$data =
''
;
35
$recordData = $record->
getData
();
36
if
(!empty($recordData)) {
37
// According to PSR3 the exception-key may hold an \Exception
38
// Since json_encode() does not encode an exception, we run the _toString() here
39
if
(isset($recordData[
'exception'
]) && $recordData[
'exception'
] instanceof \
Exception
) {
40
$recordData[
'exception'
] = (string)$recordData[
'exception'
];
41
}
42
$data =
'- '
. json_encode($recordData);
43
}
44
$message = sprintf(
45
'TYPO3 [%s] request="%s" component="%s": %s %s'
,
46
$levelName,
47
$record->
getRequestId
(),
48
$record->
getComponent
(),
49
$record->
getMessage
(),
50
$data
51
);
52
if
(
false
=== error_log($message)) {
53
throw
new \RuntimeException(
'Could not write log record to PHP error log'
, 1345036336);
54
}
55
return
$this;
56
}
57
}
Generated on Wed Nov 11 2015 01:52:01 for TYPO3 by
1.8.3