mirror of
https://github.com/Seldaek/monolog.git
synced 2025-08-04 12:17:35 +02:00
Move getClass method to a Utils class, refs #1190
This commit is contained in:
@@ -134,7 +134,7 @@ class ErrorHandler
|
|||||||
{
|
{
|
||||||
$this->logger->log(
|
$this->logger->log(
|
||||||
$this->uncaughtExceptionLevel === null ? LogLevel::ERROR : $this->uncaughtExceptionLevel,
|
$this->uncaughtExceptionLevel === null ? LogLevel::ERROR : $this->uncaughtExceptionLevel,
|
||||||
sprintf('Uncaught Exception %s: "%s" at %s line %s', Registry::getClass($e), $e->getMessage(), $e->getFile(), $e->getLine()),
|
sprintf('Uncaught Exception %s: "%s" at %s line %s', Utils::getClass($e), $e->getMessage(), $e->getFile(), $e->getLine()),
|
||||||
array('exception' => $e)
|
array('exception' => $e)
|
||||||
);
|
);
|
||||||
|
|
||||||
|
@@ -12,7 +12,7 @@
|
|||||||
namespace Monolog\Formatter;
|
namespace Monolog\Formatter;
|
||||||
|
|
||||||
use Exception;
|
use Exception;
|
||||||
use Monolog\Registry;
|
use Monolog\Utils;
|
||||||
use Throwable;
|
use Throwable;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -180,11 +180,11 @@ class JsonFormatter extends NormalizerFormatter
|
|||||||
{
|
{
|
||||||
// TODO 2.0 only check for Throwable
|
// TODO 2.0 only check for Throwable
|
||||||
if (!$e instanceof Exception && !$e instanceof Throwable) {
|
if (!$e instanceof Exception && !$e instanceof Throwable) {
|
||||||
throw new \InvalidArgumentException('Exception/Throwable expected, got '.gettype($e).' / '.Registry::getClass($e));
|
throw new \InvalidArgumentException('Exception/Throwable expected, got '.gettype($e).' / '.Utils::getClass($e));
|
||||||
}
|
}
|
||||||
|
|
||||||
$data = array(
|
$data = array(
|
||||||
'class' => Registry::getClass($e),
|
'class' => Utils::getClass($e),
|
||||||
'message' => $e->getMessage(),
|
'message' => $e->getMessage(),
|
||||||
'code' => $e->getCode(),
|
'code' => $e->getCode(),
|
||||||
'file' => $e->getFile().':'.$e->getLine(),
|
'file' => $e->getFile().':'.$e->getLine(),
|
||||||
|
@@ -11,7 +11,7 @@
|
|||||||
|
|
||||||
namespace Monolog\Formatter;
|
namespace Monolog\Formatter;
|
||||||
|
|
||||||
use Monolog\Registry;
|
use Monolog\Utils;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Formats incoming records into a one-line string
|
* Formats incoming records into a one-line string
|
||||||
@@ -131,17 +131,17 @@ class LineFormatter extends NormalizerFormatter
|
|||||||
{
|
{
|
||||||
// TODO 2.0 only check for Throwable
|
// TODO 2.0 only check for Throwable
|
||||||
if (!$e instanceof \Exception && !$e instanceof \Throwable) {
|
if (!$e instanceof \Exception && !$e instanceof \Throwable) {
|
||||||
throw new \InvalidArgumentException('Exception/Throwable expected, got '.gettype($e).' / '.Registry::getClass($e));
|
throw new \InvalidArgumentException('Exception/Throwable expected, got '.gettype($e).' / '.Utils::getClass($e));
|
||||||
}
|
}
|
||||||
|
|
||||||
$previousText = '';
|
$previousText = '';
|
||||||
if ($previous = $e->getPrevious()) {
|
if ($previous = $e->getPrevious()) {
|
||||||
do {
|
do {
|
||||||
$previousText .= ', '.Registry::getClass($previous).'(code: '.$previous->getCode().'): '.$previous->getMessage().' at '.$previous->getFile().':'.$previous->getLine();
|
$previousText .= ', '.Utils::getClass($previous).'(code: '.$previous->getCode().'): '.$previous->getMessage().' at '.$previous->getFile().':'.$previous->getLine();
|
||||||
} while ($previous = $previous->getPrevious());
|
} while ($previous = $previous->getPrevious());
|
||||||
}
|
}
|
||||||
|
|
||||||
$str = '[object] ('.Registry::getClass($e).'(code: '.$e->getCode().'): '.$e->getMessage().' at '.$e->getFile().':'.$e->getLine().$previousText.')';
|
$str = '[object] ('.Utils::getClass($e).'(code: '.$e->getCode().'): '.$e->getMessage().' at '.$e->getFile().':'.$e->getLine().$previousText.')';
|
||||||
if ($this->includeStacktraces) {
|
if ($this->includeStacktraces) {
|
||||||
$str .= "\n[stacktrace]\n".$e->getTraceAsString()."\n";
|
$str .= "\n[stacktrace]\n".$e->getTraceAsString()."\n";
|
||||||
}
|
}
|
||||||
|
@@ -11,7 +11,7 @@
|
|||||||
|
|
||||||
namespace Monolog\Formatter;
|
namespace Monolog\Formatter;
|
||||||
|
|
||||||
use Monolog\Registry;
|
use Monolog\Utils;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Formats a record for use with the MongoDBHandler.
|
* Formats a record for use with the MongoDBHandler.
|
||||||
@@ -77,7 +77,7 @@ class MongoDBFormatter implements FormatterInterface
|
|||||||
protected function formatObject($value, $nestingLevel)
|
protected function formatObject($value, $nestingLevel)
|
||||||
{
|
{
|
||||||
$objectVars = get_object_vars($value);
|
$objectVars = get_object_vars($value);
|
||||||
$objectVars['class'] = Registry::getClass($value);
|
$objectVars['class'] = Utils::getClass($value);
|
||||||
|
|
||||||
return $this->formatArray($objectVars, $nestingLevel);
|
return $this->formatArray($objectVars, $nestingLevel);
|
||||||
}
|
}
|
||||||
@@ -85,7 +85,7 @@ class MongoDBFormatter implements FormatterInterface
|
|||||||
protected function formatException(\Exception $exception, $nestingLevel)
|
protected function formatException(\Exception $exception, $nestingLevel)
|
||||||
{
|
{
|
||||||
$formattedException = array(
|
$formattedException = array(
|
||||||
'class' => Registry::getClass($exception),
|
'class' => Utils::getClass($exception),
|
||||||
'message' => $exception->getMessage(),
|
'message' => $exception->getMessage(),
|
||||||
'code' => $exception->getCode(),
|
'code' => $exception->getCode(),
|
||||||
'file' => $exception->getFile() . ':' . $exception->getLine(),
|
'file' => $exception->getFile() . ':' . $exception->getLine(),
|
||||||
|
@@ -12,7 +12,7 @@
|
|||||||
namespace Monolog\Formatter;
|
namespace Monolog\Formatter;
|
||||||
|
|
||||||
use Exception;
|
use Exception;
|
||||||
use Monolog\Registry;
|
use Monolog\Utils;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Normalizes incoming records to remove objects/resources so it's easier to dump to various targets
|
* Normalizes incoming records to remove objects/resources so it's easier to dump to various targets
|
||||||
@@ -109,7 +109,7 @@ class NormalizerFormatter implements FormatterInterface
|
|||||||
$value = $this->toJson($data, true);
|
$value = $this->toJson($data, true);
|
||||||
}
|
}
|
||||||
|
|
||||||
return sprintf("[object] (%s: %s)", Registry::getClass($data), $value);
|
return sprintf("[object] (%s: %s)", Utils::getClass($data), $value);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (is_resource($data)) {
|
if (is_resource($data)) {
|
||||||
@@ -123,11 +123,11 @@ class NormalizerFormatter implements FormatterInterface
|
|||||||
{
|
{
|
||||||
// TODO 2.0 only check for Throwable
|
// TODO 2.0 only check for Throwable
|
||||||
if (!$e instanceof Exception && !$e instanceof \Throwable) {
|
if (!$e instanceof Exception && !$e instanceof \Throwable) {
|
||||||
throw new \InvalidArgumentException('Exception/Throwable expected, got '.gettype($e).' / '.Registry::getClass($e));
|
throw new \InvalidArgumentException('Exception/Throwable expected, got '.gettype($e).' / '.Utils::getClass($e));
|
||||||
}
|
}
|
||||||
|
|
||||||
$data = array(
|
$data = array(
|
||||||
'class' => Registry::getClass($e),
|
'class' => Utils::getClass($e),
|
||||||
'message' => $e->getMessage(),
|
'message' => $e->getMessage(),
|
||||||
'code' => $e->getCode(),
|
'code' => $e->getCode(),
|
||||||
'file' => $e->getFile().':'.$e->getLine(),
|
'file' => $e->getFile().':'.$e->getLine(),
|
||||||
@@ -160,7 +160,7 @@ class NormalizerFormatter implements FormatterInterface
|
|||||||
// as a class name to avoid any unexpected leak of sensitive information
|
// as a class name to avoid any unexpected leak of sensitive information
|
||||||
$frame['args'] = array_map(function ($arg) {
|
$frame['args'] = array_map(function ($arg) {
|
||||||
if (is_object($arg) && !($arg instanceof \DateTime || $arg instanceof \DateTimeInterface)) {
|
if (is_object($arg) && !($arg instanceof \DateTime || $arg instanceof \DateTimeInterface)) {
|
||||||
return sprintf("[object] (%s)", Registry::getClass($arg));
|
return sprintf("[object] (%s)", Utils::getClass($arg));
|
||||||
}
|
}
|
||||||
|
|
||||||
return $arg;
|
return $arg;
|
||||||
|
@@ -11,7 +11,7 @@
|
|||||||
|
|
||||||
namespace Monolog\Processor;
|
namespace Monolog\Processor;
|
||||||
|
|
||||||
use Monolog\Registry;
|
use Monolog\Utils;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Processes a record's message according to PSR-3 rules
|
* Processes a record's message according to PSR-3 rules
|
||||||
@@ -37,7 +37,7 @@ class PsrLogMessageProcessor implements ProcessorInterface
|
|||||||
if (is_null($val) || is_scalar($val) || (is_object($val) && method_exists($val, "__toString"))) {
|
if (is_null($val) || is_scalar($val) || (is_object($val) && method_exists($val, "__toString"))) {
|
||||||
$replacements['{'.$key.'}'] = $val;
|
$replacements['{'.$key.'}'] = $val;
|
||||||
} elseif (is_object($val)) {
|
} elseif (is_object($val)) {
|
||||||
$replacements['{'.$key.'}'] = '[object '.Registry::getClass($val).']';
|
$replacements['{'.$key.'}'] = '[object '.Utils::getClass($val).']';
|
||||||
} else {
|
} else {
|
||||||
$replacements['{'.$key.'}'] = '['.gettype($val).']';
|
$replacements['{'.$key.'}'] = '['.gettype($val).']';
|
||||||
}
|
}
|
||||||
|
25
src/Monolog/Utils.php
Normal file
25
src/Monolog/Utils.php
Normal file
@@ -0,0 +1,25 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
/*
|
||||||
|
* 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;
|
||||||
|
|
||||||
|
class Utils
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* @internal
|
||||||
|
*/
|
||||||
|
public function getClass($object)
|
||||||
|
{
|
||||||
|
$class = \get_class($object);
|
||||||
|
|
||||||
|
return 'c' === $class[0] && 0 === strpos($class, "class@anonymous\0") ? get_parent_class($class).'@anonymous' : $class;
|
||||||
|
}
|
||||||
|
}
|
Reference in New Issue
Block a user