class LogManager implements LoggerInterface mixin Logger (View source)

Traits

Properties

protected array $levels

The Log levels.

from  ParsesLogConfiguration
protected Application $app

The application instance.

protected array $channels

The array of resolved channels.

protected array $sharedContext

The context shared across channels and stacks.

protected array $customCreators

The registered custom driver creators.

protected string $dateFormat

The standard date format to use when writing logs.

Methods

string
getFallbackChannelName()

Get fallback log channel name.

int
level(array $config)

Parse the string level into a Monolog constant.

int
actionLevel(array $config)

Parse the action level from the given configuration.

string
parseChannel(array $config)

Extract the log channel from the given configuration.

Closure|null
bindCallbackToSelf(Closure $callback)

Binds the provided callback to the class instance.

__construct(Application $app)

Create a new Log manager instance.

LoggerInterface
build(array $config)

Build an on-demand log channel.

LoggerInterface
stack(array $channels, string|null $channel = null)

Create a new, on-demand aggregate logger instance.

LoggerInterface
channel(UnitEnum|string|null $channel = null)

Get a log channel instance.

LoggerInterface
driver(UnitEnum|string|null $driver = null)

Get a log driver instance.

LoggerInterface
get(string $name, array|null $config = null)

Attempt to get the log from the local cache.

tap(string $name, Logger $logger)

Apply the configured taps for the logger.

array
parseTap(string $tap)

Parse the given tap class string into a class name and arguments string.

LoggerInterface
createEmergencyLogger()

Create an emergency log handler to avoid white screens of death.

LoggerInterface
resolve(string $name, array|null $config = null)

Resolve the given log instance by name.

mixed
callCustomCreator(array $config)

Call a custom driver creator.

LoggerInterface
createCustomDriver(array $config)

Create a custom log driver instance.

LoggerInterface
createStackDriver(array $config)

Create an aggregate log driver instance.

LoggerInterface
createSingleDriver(array $config)

Create an instance of the single file log driver.

LoggerInterface
createDailyDriver(array $config)

Create an instance of the daily file log driver.

LoggerInterface
createSlackDriver(array $config)

Create an instance of the Slack log driver.

LoggerInterface
createSyslogDriver(array $config)

Create an instance of the syslog log driver.

LoggerInterface
createErrorlogDriver(array $config)

Create an instance of the "error log" log driver.

LoggerInterface
createMonologDriver(array $config)

Create an instance of any handler available in Monolog.

array
prepareHandlers(array $handlers)

Prepare the handlers for usage by Monolog.

HandlerInterface
prepareHandler(HandlerInterface $handler, array $config = [])

Prepare the handler for usage by Monolog.

FormatterInterface
formatter()

Get a Monolog formatter instance.

$this
shareContext(array $context)

Share context across channels and stacks.

array
sharedContext()

The context shared across channels and stacks.

$this
withoutContext(array|null $keys = null)

Flush the log context on all currently resolved channels.

$this
flushSharedContext()

Flush the shared context.

array|null
configurationFor(string $name)

Get the log connection configuration.

string|null
getDefaultDriver()

Get the default log driver name.

void
setDefaultDriver(UnitEnum|string $name)

Set the default log driver name.

$this
extend(string $driver, Closure $callback)

Register a custom driver creator Closure.

void
forgetChannel(string|null $driver = null)

Unset the given channel instance.

string|null
parseDriver(string|null $driver)

Parse the driver name.

array
getChannels()

Get all of the resolved log channels.

void
emergency(string|Stringable $message, array $context = [])

System is unusable.

void
alert(string|Stringable $message, array $context = [])

Action must be taken immediately.

void
critical(string|Stringable $message, array $context = [])

Critical conditions.

void
error(string|Stringable $message, array $context = [])

Runtime errors that do not require immediate action but should typically be logged and monitored.

void
warning(string|Stringable $message, array $context = [])

Exceptional occurrences that are not errors.

void
notice(string|Stringable $message, array $context = [])

Normal but significant events.

void
info(string|Stringable $message, array $context = [])

Interesting events.

void
debug(string|Stringable $message, array $context = [])

Detailed debug information.

void
log(mixed $level, string|Stringable $message, array $context = [])

Logs with an arbitrary level.

$this
setApplication(Application $app)

Set the application instance used by the manager.

mixed
__call(string $method, array $parameters)

Dynamically call the default driver instance.

Details

protected string getFallbackChannelName()

Get fallback log channel name.

Return Value

string

protected int level(array $config)

Parse the string level into a Monolog constant.

Parameters

array $config

Return Value

int

Exceptions

InvalidArgumentException

protected int actionLevel(array $config)

Parse the action level from the given configuration.

Parameters

array $config

Return Value

int

Exceptions

InvalidArgumentException

protected string parseChannel(array $config)

Extract the log channel from the given configuration.

Parameters

array $config

Return Value

string

protected Closure|null bindCallbackToSelf(Closure $callback)

Binds the provided callback to the class instance.

Parameters

Closure $callback

Return Value

Closure|null

Exceptions

ReflectionException

__construct(Application $app)

Create a new Log manager instance.

Parameters

Application $app

LoggerInterface build(array $config)

Build an on-demand log channel.

Parameters

array $config

Return Value

LoggerInterface

LoggerInterface stack(array $channels, string|null $channel = null)

Create a new, on-demand aggregate logger instance.

Parameters

array $channels
string|null $channel

Return Value

LoggerInterface

LoggerInterface channel(UnitEnum|string|null $channel = null)

Get a log channel instance.

Parameters

UnitEnum|string|null $channel

Return Value

LoggerInterface

LoggerInterface driver(UnitEnum|string|null $driver = null)

Get a log driver instance.

Parameters

UnitEnum|string|null $driver

Return Value

LoggerInterface

protected LoggerInterface get(string $name, array|null $config = null)

Attempt to get the log from the local cache.

Parameters

string $name
array|null $config

Return Value

LoggerInterface

protected Logger tap(string $name, Logger $logger)

Apply the configured taps for the logger.

Parameters

string $name
Logger $logger

Return Value

Logger

protected array parseTap(string $tap)

Parse the given tap class string into a class name and arguments string.

Parameters

string $tap

Return Value

array

protected LoggerInterface createEmergencyLogger()

Create an emergency log handler to avoid white screens of death.

Return Value

LoggerInterface

protected LoggerInterface resolve(string $name, array|null $config = null)

Resolve the given log instance by name.

Parameters

string $name
array|null $config

Return Value

LoggerInterface

Exceptions

InvalidArgumentException

protected mixed callCustomCreator(array $config)

Call a custom driver creator.

Parameters

array $config

Return Value

mixed

protected LoggerInterface createCustomDriver(array $config)

Create a custom log driver instance.

Parameters

array $config

Return Value

LoggerInterface

protected LoggerInterface createStackDriver(array $config)

Create an aggregate log driver instance.

Parameters

array $config

Return Value

LoggerInterface

protected LoggerInterface createSingleDriver(array $config)

Create an instance of the single file log driver.

Parameters

array $config

Return Value

LoggerInterface

protected LoggerInterface createDailyDriver(array $config)

Create an instance of the daily file log driver.

Parameters

array $config

Return Value

LoggerInterface

protected LoggerInterface createSlackDriver(array $config)

Create an instance of the Slack log driver.

Parameters

array $config

Return Value

LoggerInterface

protected LoggerInterface createSyslogDriver(array $config)

Create an instance of the syslog log driver.

Parameters

array $config

Return Value

LoggerInterface

protected LoggerInterface createErrorlogDriver(array $config)

Create an instance of the "error log" log driver.

Parameters

array $config

Return Value

LoggerInterface

protected LoggerInterface createMonologDriver(array $config)

Create an instance of any handler available in Monolog.

Parameters

array $config

Return Value

LoggerInterface

Exceptions

InvalidArgumentException
BindingResolutionException

protected array prepareHandlers(array $handlers)

Prepare the handlers for usage by Monolog.

Parameters

array $handlers

Return Value

array

protected HandlerInterface prepareHandler(HandlerInterface $handler, array $config = [])

Prepare the handler for usage by Monolog.

Parameters

HandlerInterface $handler
array $config

Return Value

HandlerInterface

protected FormatterInterface formatter()

Get a Monolog formatter instance.

Return Value

FormatterInterface

$this shareContext(array $context)

Share context across channels and stacks.

Parameters

array $context

Return Value

$this

array sharedContext()

The context shared across channels and stacks.

Return Value

array

$this withoutContext(array|null $keys = null)

Flush the log context on all currently resolved channels.

Parameters

array|null $keys

Return Value

$this

$this flushSharedContext()

Flush the shared context.

Return Value

$this

protected array|null configurationFor(string $name)

Get the log connection configuration.

Parameters

string $name

Return Value

array|null

string|null getDefaultDriver()

Get the default log driver name.

Return Value

string|null

void setDefaultDriver(UnitEnum|string $name)

Set the default log driver name.

Parameters

UnitEnum|string $name

Return Value

void

$this extend(string $driver, Closure $callback)

Register a custom driver creator Closure.

Parameters

string $driver
Closure $callback

Return Value

$this

void forgetChannel(string|null $driver = null)

Unset the given channel instance.

Parameters

string|null $driver

Return Value

void

protected string|null parseDriver(string|null $driver)

Parse the driver name.

Parameters

string|null $driver

Return Value

string|null

array getChannels()

Get all of the resolved log channels.

Return Value

array

void emergency(string|Stringable $message, array $context = [])

System is unusable.

Parameters

string|Stringable $message
array $context

Return Value

void

void alert(string|Stringable $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.

Parameters

string|Stringable $message
array $context

Return Value

void

void critical(string|Stringable $message, array $context = [])

Critical conditions.

Example: Application component unavailable, unexpected exception.

Parameters

string|Stringable $message
array $context

Return Value

void

void error(string|Stringable $message, array $context = [])

Runtime errors that do not require immediate action but should typically be logged and monitored.

Parameters

string|Stringable $message
array $context

Return Value

void

void warning(string|Stringable $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.

Parameters

string|Stringable $message
array $context

Return Value

void

void notice(string|Stringable $message, array $context = [])

Normal but significant events.

Parameters

string|Stringable $message
array $context

Return Value

void

void info(string|Stringable $message, array $context = [])

Interesting events.

Example: User logs in, SQL logs.

Parameters

string|Stringable $message
array $context

Return Value

void

void debug(string|Stringable $message, array $context = [])

Detailed debug information.

Parameters

string|Stringable $message
array $context

Return Value

void

void log(mixed $level, string|Stringable $message, array $context = [])

Logs with an arbitrary level.

Parameters

mixed $level
string|Stringable $message
array $context

Return Value

void

$this setApplication(Application $app)

Set the application instance used by the manager.

Parameters

Application $app

Return Value

$this

mixed __call(string $method, array $parameters)

Dynamically call the default driver instance.

Parameters

string $method
array $parameters

Return Value

mixed

Laravel Cloud is the best place to deploy Laravel, Nuxt, Express, Hono, Node.js, Bun, Go, Flask, Python, and more, with dedicated infrastructure available on AWS through Laravel Private Cloud.