LogManager
class LogManager implements LoggerInterface mixin Logger
Traits
Constants
| protected SHARED_CONTEXT_KEY |
Context key for shared log context across channels. |
Properties
| protected array | $levels | The Log levels. |
from ParsesLogConfiguration |
| protected array | $channels | The array of resolved channels. |
|
| protected array | $customCreators | The registered custom driver creators. |
|
| protected string | $dateFormat | The standard date format to use when writing logs. |
Methods
Get fallback log channel name.
Parse the string level into a Monolog constant.
Parse the action level from the given configuration.
Extract the log channel from the given configuration.
Build an on-demand log channel.
Create a new, on-demand aggregate logger instance.
Get a log channel instance.
Get a log driver instance.
Attempt to get the log from the local cache.
Create a configured logger, optionally retaining a named channel.
Parse the given tap class string into a class name and arguments string.
Create an emergency log handler to avoid white screens of death.
Resolve the given log instance by name.
Call a custom driver creator.
Create a custom log driver instance.
Create an aggregate log driver instance.
Create an instance of the single file log driver.
Create an instance of the daily file log driver.
Create an instance of the Slack log driver.
Create an instance of the syslog log driver.
Create an instance of the "error log" log driver.
Create an instance of any handler available in Monolog.
Prepare the handlers for usage by Monolog.
Prepare the handler for usage by Monolog.
Get a Monolog formatter instance.
Create a wrapped context log processor.
Share context across channels and stacks.
The context shared across channels and stacks.
Flush the log context on all currently resolved channels.
Flush the shared context.
Get the log connection configuration.
Get the default log driver name.
Set the default log driver name.
Unset the given channel instance.
Parse the driver name.
Get all of the resolved log channels.
System is unusable.
Action must be taken immediately.
Critical conditions.
Runtime errors that do not require immediate action but should typically be logged and monitored.
Exceptional occurrences that are not errors.
Normal but significant events.
Detailed debug information.
Logs with an arbitrary level.
Dynamically call the default driver instance.
Details
at line 552
protected string
getFallbackChannelName()
Get fallback log channel name.
in
ParsesLogConfiguration at line 36
protected Level
level(array $config)
Parse the string level into a Monolog constant.
in
ParsesLogConfiguration at line 52
protected Level
actionLevel(array $config)
Parse the action level from the given configuration.
in
ParsesLogConfiguration at line 66
protected string
parseChannel(array $config)
Extract the log channel from the given configuration.
in
RebindsCallbacksToSelf at line 18
protected Closure|null
bindCallbackToSelf(Closure $callback)
Bind the provided callback to the class instance.
at line 75
__construct(Application $app)
Create a new Log manager instance.
at line 83
LoggerInterface
build(array $config)
Build an on-demand log channel.
at line 91
LoggerInterface
stack(array $channels, string|null $channel = null)
Create a new, on-demand aggregate logger instance.
at line 113
LoggerInterface
channel(UnitEnum|string|null $channel = null)
Get a log channel instance.
at line 121
LoggerInterface
driver(UnitEnum|string|null $driver = null)
Get a log driver instance.
at line 133
protected LoggerInterface
get(string|null $name, array|null $config = null)
Attempt to get the log from the local cache.
at line 145
protected LoggerInterface
createLogger(string|null $name, array|null $config = null, bool $cache = false)
Create a configured logger, optionally retaining a named channel.
at line 182
protected Logger
tap(array $config, Logger $logger)
Apply the configured taps for the logger.
at line 196
protected array
parseTap(string $tap)
Parse the given tap class string into a class name and arguments string.
at line 204
protected LoggerInterface
createEmergencyLogger()
Create an emergency log handler to avoid white screens of death.
at line 224
protected LoggerInterface
resolve(string|null $name, array $config)
Resolve the given log instance by name.
at line 242
protected mixed
callCustomCreator(array $config)
Call a custom driver creator.
at line 250
protected LoggerInterface
createCustomDriver(array $config)
Create a custom log driver instance.
at line 260
protected LoggerInterface
createStackDriver(array $config)
Create an aggregate log driver instance.
at line 291
protected LoggerInterface
createSingleDriver(array $config)
Create an instance of the single file log driver.
at line 310
protected LoggerInterface
createDailyDriver(array $config)
Create an instance of the daily file log driver.
at line 327
protected LoggerInterface
createSlackDriver(array $config)
Create an instance of the Slack log driver.
at line 348
protected LoggerInterface
createSyslogDriver(array $config)
Create an instance of the syslog log driver.
at line 362
protected LoggerInterface
createErrorlogDriver(array $config)
Create an instance of the "error log" log driver.
at line 377
protected LoggerInterface
createMonologDriver(array $config)
Create an instance of any handler available in Monolog.
at line 435
protected array
prepareHandlers(array $handlers)
Prepare the handlers for usage by Monolog.
at line 447
protected HandlerInterface
prepareHandler(HandlerInterface $handler, array $config = [])
Prepare the handler for usage by Monolog.
at line 475
protected FormatterInterface
formatter()
Get a Monolog formatter instance.
at line 487
protected ResolvedContextLogProcessor
makeContextProcessor()
Create a wrapped context log processor.
Wrapping in ResolvedContextLogProcessor allows createStackDriver() to filter out context processors from constituent channels regardless of how the processor was bound (class, closure, or custom callable).
at line 499
LogManager
shareContext(array $context)
Share context across channels and stacks.
at line 515
array
sharedContext()
The context shared across channels and stacks.
at line 526
LogManager
withoutContext(array|null $keys = null)
Flush the log context on all currently resolved channels.
at line 542
LogManager
flushSharedContext()
Flush the shared context.
at line 560
protected array|null
configurationFor(string|null $name)
Get the log connection configuration.
at line 568
string|null
getDefaultDriver()
Get the default log driver name.
at line 578
void
setDefaultDriver(UnitEnum|string $name)
Set the default log driver name.
Boot-only. Mutates process-global config; per-request use races across coroutines.
at line 595
LogManager
extend(string $driver, Closure $callback)
Register a custom driver creator Closure.
Boot-only. The callback persists in the singleton's customCreators array for the worker lifetime and applies to every subsequent channel resolution.
at line 616
void
forgetChannel(string|null $driver = null)
Unset the given channel instance.
Boot or tests only. Mutates the singleton's channel cache; concurrent coroutines may already hold a reference to the channel and next resolution will rebuild with fresh handlers (file handles, etc.).
at line 628
protected string|null
parseDriver(string|null $driver)
Parse the driver name.
at line 646
array
getChannels()
Get all of the resolved log channels.
at line 654
void
emergency(Arrayable|Jsonable|Stringable|array|string $message, array $context = [])
System is unusable.
at line 665
void
alert(Arrayable|Jsonable|Stringable|array|string $message, array $context = [])
Action must be taken immediately.
Example: Entire website down, database unavailable, etc. This should trigger the SMS alerts and wake you up.
at line 675
void
critical(Arrayable|Jsonable|Stringable|array|string $message, array $context = [])
Critical conditions.
Example: Application component unavailable, unexpected exception.
at line 684
void
error(Arrayable|Jsonable|Stringable|array|string $message, array $context = [])
Runtime errors that do not require immediate action but should typically be logged and monitored.
at line 695
void
warning(Arrayable|Jsonable|Stringable|array|string $message, array $context = [])
Exceptional occurrences that are not errors.
Example: Use of deprecated APIs, poor use of an API, undesirable things that are not necessarily wrong.
at line 703
void
notice(Arrayable|Jsonable|Stringable|array|string $message, array $context = [])
Normal but significant events.
at line 713
void
info(Arrayable|Jsonable|Stringable|array|string $message, array $context = [])
Interesting events.
Example: User logs in, SQL logs.
at line 721
void
debug(Arrayable|Jsonable|Stringable|array|string $message, array $context = [])
Detailed debug information.
at line 731
void
log(string $level, Arrayable|Jsonable|Stringable|array|string $message, array $context = [])
Logs with an arbitrary level.
at line 745
LogManager
setApplication(Application $app)
Set the application instance used by the manager.
Tests only. Swaps the singleton's Application reference; per-request use races across coroutines and breaks every concurrent request resolving services through this manager.
at line 759
mixed
__call(string $method, array $parameters)
Dynamically call the default driver instance.