PHP code example of bartlett / phpunit-loggertestlistener
1. Go to this page and download the library: Download bartlett/phpunit-loggertestlistener library. Choose the download type require.
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
bartlett / phpunit-loggertestlistener example snippets
use Psr\Log\AbstractLogger;
class YourLogger extends AbstractLogger
{
private $channel;
public function __construct($name = 'YourLoggerChannel')
{
$this->channel = $name;
}
public function log($level, $message, array $context = array())
{
error_log(
sprintf(
'%s.%s: %s',
$this->channel,
strtoupper($level),
$this->interpolate($message, $context)
)
);
}
protected function interpolate($message, array $context = array())
{
// build a replacement array with braces around the context keys
$replace = array();
foreach ($context as $key => $val) {
if (is_scalar($val)) {
$replace['{' . $key . '}'] = $val;
}
}
// interpolate replacement values into the message and return
return strtr($message, $replace);
}
}
use Monolog\Logger;
use Monolog\Handler\StreamHandler;
use Bartlett\Monolog\Handler\GrowlHandler;
use Bartlett\Monolog\Handler\CallbackFilterHandler;
class YourMonolog extends Logger
{
public function __construct($name = 'PHPUnit')
{
$filter1 = function($record, $handlerLevel) {
if ($record['level'] < $handlerLevel) {
return false;
}
if ($record['level'] > $handlerLevel) {
return true;
}
return (
preg_match('/^TestSuite(.*)ended\./', $record['message']) === 1
and
$record['level'] == $handlerLevel
);
};
$stream = new StreamHandler('/var/logs/monolog.log');
$handlers = [$stream];
try {
$growl = new GrowlHandler(array(), Logger::NOTICE);
$filterGrowl = new CallbackFilterHandler(
$growl,
array($filter1)
);
$handlers[] = $filterGrowl;
} catch (\Exception $e) {
// Growl client is probably not started
echo $e->getMessage(), PHP_EOL, PHP_EOL;
}
parent::__construct($name, $handlers);
}
}
Loading please wait ...
Before you can download the PHP files, the dependencies should be resolved. This can take some minutes. Please be patient.