Page Menu
Home
WickedGov Phorge
Search
Configure Global Search
Log In
Files
F1429685
PsrHandler.php
No One
Temporary
Actions
Download File
Edit File
Delete File
View Transforms
Subscribe
Flag For Later
Award Token
Size
2 KB
Referenced Files
None
Subscribers
None
PsrHandler.php
View Options
<?php
declare
(
strict_types
=
1
);
/*
* This file is part of the Monolog package.
*
* (c) Jordi Boggiano <j.boggiano@seld.be>
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/
namespace
Monolog\Handler
;
use
Monolog\Logger
;
use
Psr\Log\LoggerInterface
;
use
Monolog\Formatter\FormatterInterface
;
/**
* Proxies log messages to an existing PSR-3 compliant logger.
*
* If a formatter is configured, the formatter's output MUST be a string and the
* formatted message will be fed to the wrapped PSR logger instead of the original
* log record's message.
*
* @author Michael Moussa <michael.moussa@gmail.com>
*/
class
PsrHandler
extends
AbstractHandler
implements
FormattableHandlerInterface
{
/**
* PSR-3 compliant logger
*
* @var LoggerInterface
*/
protected
$logger
;
/**
* @var FormatterInterface|null
*/
protected
$formatter
;
/**
* @param LoggerInterface $logger The underlying PSR-3 compliant logger to which messages will be proxied
*/
public
function
__construct
(
LoggerInterface
$logger
,
$level
=
Logger
::
DEBUG
,
bool
$bubble
=
true
)
{
parent
::
__construct
(
$level
,
$bubble
);
$this
->
logger
=
$logger
;
}
/**
* {@inheritDoc}
*/
public
function
handle
(
array
$record
):
bool
{
if
(!
$this
->
isHandling
(
$record
))
{
return
false
;
}
if
(
$this
->
formatter
)
{
$formatted
=
$this
->
formatter
->
format
(
$record
);
$this
->
logger
->
log
(
strtolower
(
$record
[
'level_name'
]),
(
string
)
$formatted
,
$record
[
'context'
]);
}
else
{
$this
->
logger
->
log
(
strtolower
(
$record
[
'level_name'
]),
$record
[
'message'
],
$record
[
'context'
]);
}
return
false
===
$this
->
bubble
;
}
/**
* Sets the formatter.
*
* @param FormatterInterface $formatter
*/
public
function
setFormatter
(
FormatterInterface
$formatter
):
HandlerInterface
{
$this
->
formatter
=
$formatter
;
return
$this
;
}
/**
* Gets the formatter.
*
* @return FormatterInterface
*/
public
function
getFormatter
():
FormatterInterface
{
if
(!
$this
->
formatter
)
{
throw
new
\LogicException
(
'No formatter has been set and this handler does not have a default formatter'
);
}
return
$this
->
formatter
;
}
}
File Metadata
Details
Attached
Mime Type
text/x-php
Expires
Sat, May 16, 17:54 (8 h, 59 m)
Storage Engine
local-disk
Storage Format
Raw Data
Storage Handle
69/32/22a3199d1237c76678ad327a33ad
Default Alt Text
PsrHandler.php (2 KB)
Attached To
Mode
rMWPROD MediaWiki Production
Attached
Detach File
Event Timeline
Log In to Comment