Final Class Yiisoft\Log\ContextProvider\SystemContextProvider
| Inheritance | Yiisoft\Log\ContextProvider\SystemContextProvider |
|---|---|
| Implements | Yiisoft\Log\ContextProvider\ContextProviderInterface |
Public Methods
| Method | Description | Defined By |
|---|---|---|
| __construct() | Yiisoft\Log\ContextProvider\SystemContextProvider | |
| getContext() | Yiisoft\Log\ContextProvider\SystemContextProvider | |
| setExcludedTracePaths() | Sets an array of paths to exclude from tracing when tracing is enabled with self::$traceLevel. | Yiisoft\Log\ContextProvider\SystemContextProvider |
| setTraceLevel() | Sets how much call stack information (file name and line number) should be logged for each log message. | Yiisoft\Log\ContextProvider\SystemContextProvider |
Method Details
| public __construct( integer $traceLevel = 0, string[] $excludedTracePaths = [] ): mixed | ||
| $traceLevel | integer |
How much call stack information (file name and line number) should be logged for each log message. If it is greater than 0, at most that number of call stacks will be logged. Note that only application call stacks are counted. |
| $excludedTracePaths | string[] |
Array of paths to exclude from tracing when tracing is enabled with $traceLevel. |
public function __construct(
private int $traceLevel = 0,
array $excludedTracePaths = [],
) {
$this->assertTraceLevelIsValid($this->traceLevel);
/** @psalm-suppress DeprecatedMethod `setExcludedTracePaths` will be private and not deprecated */
$this->setExcludedTracePaths($excludedTracePaths);
}
| public getContext( ): array |
public function getContext(): array
{
/** @psalm-var list<TraceItem> $trace */
$trace = debug_backtrace(DEBUG_BACKTRACE_IGNORE_ARGS);
array_shift($trace);
return [
'time' => microtime(true),
'trace' => $this->collectTrace($trace),
'memory' => memory_get_usage(),
'category' => Message::DEFAULT_CATEGORY,
];
}
Deprecated
since 2.1.0, to be removed in 3.0.0. Use constructor parameter "excludedTracePaths" instead.
Sets an array of paths to exclude from tracing when tracing is enabled with self::$traceLevel.
See also \Yiisoft\Log\ContextProvider\self::$excludedTracePaths.
| public setExcludedTracePaths( string[] $excludedTracePaths ): self | ||
| $excludedTracePaths | string[] |
The paths to exclude from tracing. |
| throws | InvalidArgumentException |
for non-string values. |
|---|---|---|
public function setExcludedTracePaths(array $excludedTracePaths): self
{
foreach ($excludedTracePaths as $excludedTracePath) {
/** @psalm-suppress DocblockTypeContradiction */
if (!is_string($excludedTracePath)) {
throw new InvalidArgumentException(
sprintf(
'The trace path must be a string, %s received.',
get_debug_type($excludedTracePath),
),
);
}
}
$this->excludedTracePaths = $excludedTracePaths;
return $this;
}
Deprecated
since 2.1.0, to be removed in 3.0.0. Use constructor parameter "traceLevel" instead.
Sets how much call stack information (file name and line number) should be logged for each log message.
See also \Yiisoft\Log\ContextProvider\self::$traceLevel.
| public setTraceLevel( integer $traceLevel ): self | ||
| $traceLevel | integer |
The number of call stack information. |
public function setTraceLevel(int $traceLevel): self
{
$this->assertTraceLevelIsValid($traceLevel);
$this->traceLevel = $traceLevel;
return $this;
}
Signup or Login in order to comment.