Initial xentral_oss_20.3.c9ffacf
This commit is contained in:
@@ -0,0 +1,160 @@
|
||||
<?php
|
||||
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace Xentral\Components\Logger\Context;
|
||||
|
||||
use DateTimeInterface;
|
||||
use Exception;
|
||||
use Throwable;
|
||||
|
||||
final class LoggerContext implements ContextInterface
|
||||
{
|
||||
/** @var DateTimeInterface $dateTime */
|
||||
private $dateTime;
|
||||
|
||||
/** @var Invocation $invocation */
|
||||
private $invocation;
|
||||
|
||||
/** @var OriginInterface $origin */
|
||||
private $origin;
|
||||
|
||||
/** @var Exception $exception */
|
||||
private $exception;
|
||||
|
||||
/** @var array $dump */
|
||||
private $dump;
|
||||
|
||||
/**
|
||||
* @param DateTimeInterface $dateTime
|
||||
* @param Invocation|null $invocation
|
||||
* @param OriginInterface|null $origin
|
||||
* @param Throwable|null $exception
|
||||
* @param array|null $dump
|
||||
*/
|
||||
public function __construct(
|
||||
DateTimeInterface $dateTime,
|
||||
Invocation $invocation = null,
|
||||
OriginInterface $origin = null,
|
||||
Throwable $exception = null,
|
||||
array $dump = null
|
||||
) {
|
||||
$this->dateTime = $dateTime;
|
||||
$this->invocation = $invocation;
|
||||
$this->origin = $origin;
|
||||
$this->exception = $exception;
|
||||
$this->dump = $dump;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return DateTimeInterface
|
||||
*/
|
||||
public function getTime(): DateTimeInterface
|
||||
{
|
||||
return $this->dateTime;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return string|null
|
||||
*/
|
||||
public function getClass(): ?string
|
||||
{
|
||||
if ($this->invocation === null) {
|
||||
return null;
|
||||
}
|
||||
|
||||
return $this->invocation->getClass();
|
||||
}
|
||||
|
||||
/**
|
||||
* @return string|null
|
||||
*/
|
||||
public function getFunction(): ?string
|
||||
{
|
||||
if ($this->invocation === null) {
|
||||
return null;
|
||||
}
|
||||
|
||||
return $this->invocation->getFunction();
|
||||
}
|
||||
|
||||
/**
|
||||
* @return int
|
||||
*/
|
||||
public function getLine(): int
|
||||
{
|
||||
if ($this->invocation === null) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
return $this->invocation->getLine();
|
||||
}
|
||||
|
||||
/**
|
||||
* @return bool
|
||||
*/
|
||||
public function hasOrigin(): bool
|
||||
{
|
||||
return $this->origin !== null;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return bool
|
||||
*/
|
||||
public function hasException(): bool
|
||||
{
|
||||
return $this->exception !== null;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return Exception|null
|
||||
*/
|
||||
public function getException(): ?Throwable
|
||||
{
|
||||
return $this->exception;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return bool
|
||||
*/
|
||||
public function hasDump(): bool
|
||||
{
|
||||
return is_array($this->dump) && count($this->dump) > 0;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return array
|
||||
*/
|
||||
public function getDump(): array
|
||||
{
|
||||
if (!is_array($this->dump)) {
|
||||
return [];
|
||||
}
|
||||
|
||||
return $this->dump;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return string|null
|
||||
*/
|
||||
public function getOriginType(): ?string
|
||||
{
|
||||
if ($this->origin === null) {
|
||||
return null;
|
||||
}
|
||||
|
||||
return $this->origin->getType();
|
||||
}
|
||||
|
||||
/**
|
||||
* @return string|null
|
||||
*/
|
||||
public function getOriginDetail(): ?string
|
||||
{
|
||||
if ($this->origin === null) {
|
||||
return null;
|
||||
}
|
||||
|
||||
return $this->origin->getDetail();
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user