Final Class Yiisoft\Profiler\Target\LogTarget
| Inheritance | Yiisoft\Profiler\Target\LogTarget » Yiisoft\Profiler\Target\AbstractTarget |
|---|---|
| Implements | Yiisoft\Profiler\Target\TargetInterface |
LogTarget saves profiling messages as a log messages.
Public Methods
| Method | Description | Defined By |
|---|---|---|
| __construct() | Yiisoft\Profiler\Target\LogTarget | |
| collect() | Processes the given log messages. | Yiisoft\Profiler\Target\AbstractTarget |
| enable() | Enable or disable target. | Yiisoft\Profiler\Target\AbstractTarget |
| exclude() | Yiisoft\Profiler\Target\AbstractTarget | |
| export() | Yiisoft\Profiler\Target\LogTarget | |
| include() | Yiisoft\Profiler\Target\AbstractTarget | |
| isEnabled() | Returns target is enabled. | Yiisoft\Profiler\Target\AbstractTarget |
Protected Methods
| Method | Description | Defined By |
|---|---|---|
| filterMessages() | Filters the given messages according to their categories. | Yiisoft\Profiler\Target\AbstractTarget |
Method Details
| public __construct( \Psr\Log\LoggerInterface $logger, string $logLevel = LogLevel::DEBUG ): mixed | ||
| $logger | \Psr\Log\LoggerInterface | |
| $logLevel | string | |
public function __construct(
/**
* @var LoggerInterface Logger to be used for message export.
*/
private readonly LoggerInterface $logger,
/**
* @var string Log level to be used for messages export.
*/
private readonly string $logLevel = LogLevel::DEBUG
) {
}
Defined in: Yiisoft\Profiler\Target\AbstractTarget::collect()
Processes the given log messages.
This method will filter the given messages with include() and exclude(). And if requested, it will also export the filtering result to specific medium (e.g. email).
| public collect( array $messages ): void | ||
| $messages | array |
Profiling messages to be processed. Each message has the following keys:
|
public function collect(array $messages): void
{
if (!$this->enabled) {
return;
}
$messages = $this->filterMessages($messages);
if (count($messages) > 0) {
$this->export($messages);
}
}
Defined in: Yiisoft\Profiler\Target\AbstractTarget::enable()
Enable or disable target.
| public enable( boolean $value = true ): void | ||
| $value | boolean | |
public function enable(bool $value = true): void
{
$this->enabled = $value;
}
| public exclude( string[] $exclude ): $this | ||
| $exclude | string[] |
List of message categories that this target is NOT interested in. Defaults to empty, meaning no uninteresting messages. If this property is not empty, then any category listed here will be excluded from include().
You can use an asterisk at the end of a category so that the category can be used to
match those categories sharing the same common prefix. For example, 'Yiisoft\Db**' will match
categories starting with 'Yiisoft\Db\', such as |
public function exclude(array $exclude): self
{
$new = clone $this;
$new->exclude = $exclude;
return $new;
}
| public export( array $messages ): void | ||
| $messages | array | |
public function export(array $messages): void
{
foreach ($messages as $message) {
$this->logger->log($this->logLevel, $message->token(), $message->context());
}
}
Defined in: Yiisoft\Profiler\Target\AbstractTarget::filterMessages()
Filters the given messages according to their categories.
| protected filterMessages( Yiisoft\Profiler\Message[] $messages ): Yiisoft\Profiler\Message[] | ||
| $messages | Yiisoft\Profiler\Message[] |
Messages to be filtered. The message structure follows that in Yiisoft\Profiler\Target\TargetInterface::collect(). |
| return | Yiisoft\Profiler\Message[] |
The filtered messages. |
|---|---|---|
protected function filterMessages(array $messages): array
{
foreach ($messages as $i => $message) {
if (!$this->isCategoryMatched($message->level())) {
unset($messages[$i]);
}
}
return $messages;
}
Defined in: Yiisoft\Profiler\Target\AbstractTarget::include()
See also \Yiisoft\Strings\WildcardPattern.
| public include( string[] $include ): $this | ||
| $include | string[] |
List of message categories that this target is interested in. Defaults to empty, meaning all categories. You can use an asterisk at the end of a category so that the category may be used to
match those categories sharing the same common prefix. For example, 'Yiisoft\Db**' will match
categories starting with 'Yiisoft\Db\', such as |
public function include(array $include): self
{
$new = clone $this;
$new->include = $include;
return $new;
}
Defined in: Yiisoft\Profiler\Target\AbstractTarget::isEnabled()
Returns target is enabled.
| public isEnabled( ): boolean |
public function isEnabled(): bool
{
return $this->enabled;
}
Signup or Login in order to comment.