W3cubDocs

/CakePHP 4.4

Class QueryLogger

This class is a bridge used to write LoggedQuery objects into a real log. by default this class use the built-in CakePHP Log class to accomplish this

Namespace: Cake\Database\Log

Property Summary

  • $_config protected
    array<string, mixed>

    Runtime config

  • bool

    Whether the config property has already been configured with defaults

  • $_defaultConfig protected
    array<string, mixed>

    Default config for this class

  • $formatter protected
    Cake\Log\Formatter\AbstractFormatter

Method Summary

  • __construct() public

    Constructor.

  • _configDelete() protected

    Deletes a single config key.

  • _configRead() protected

    Reads a config key.

  • _configWrite() protected

    Writes a config key.

  • _format() protected deprecated

    Formats the message to be logged.

  • alert() public

    Action must be taken immediately.

  • configShallow() public

    Merge provided config with existing config. Unlike config() which does a recursive merge for nested keys, this method does a simple merge.

  • critical() public

    Critical conditions.

  • debug() public

    Detailed debug information.

  • emergency() public

    System is unusable.

  • error() public

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

  • getConfig() public

    Returns the config.

  • getConfigOrFail() public

    Returns the config for this specific key.

  • info() public

    Interesting events.

  • interpolate() protected

    Replaces placeholders in message string with context values.

  • levels() public

    Get the levels this logger is interested in.

  • log() public

    Logs with an arbitrary level.

  • notice() public

    Normal but significant events.

  • scopes() public

    Get the scopes this logger is interested in.

  • setConfig() public

    Sets the config.

  • warning() public

    Exceptional occurrences that are not errors.

Method Detail

__construct() public

__construct(array<string, mixed> $config = [])

Constructor.

Parameters

array<string, mixed> $config optional

Configuration array

_configDelete() protected

_configDelete(string $key): void

Deletes a single config key.

Parameters

string $key

Key to delete.

Returns

void

Throws

Cake\Core\Exception\CakeException
if attempting to clobber existing config

_configRead() protected

_configRead(string|null $key): mixed

Reads a config key.

Parameters

string|null $key

Key to read.

Returns

mixed

_configWrite() protected

_configWrite(array<string, mixed>|string $key, mixed $value, string|bool $merge = false): void

Writes a config key.

Parameters

array<string, mixed>|string $key

Key to write to.

mixed $value

Value to write.

string|bool $merge optional

True to merge recursively, 'shallow' for simple merge, false to overwrite, defaults to false.

Returns

void

Throws

Cake\Core\Exception\CakeException
if attempting to clobber existing config

_format() protected

_format(string $message, array $context = []): string

Formats the message to be logged.

The context can optionally be used by log engines to interpolate variables or add additional info to the logged message.

Parameters

string $message

The message to be formatted.

array $context optional

Additional logging information for the message.

Returns

string

alert() public

alert(string $message, mixed[] $context = array()): void

Action must be taken immediately.

Example: Entire website down, database unavailable, etc. This should trigger the SMS alerts and wake you up.

Parameters

string $message
mixed[] $context optional

Returns

void

configShallow() public

configShallow(array<string, mixed>|string $key, mixed|null $value = null): $this

Merge provided config with existing config. Unlike config() which does a recursive merge for nested keys, this method does a simple merge.

Setting a specific value:

$this->configShallow('key', $value);

Setting a nested value:

$this->configShallow('some.nested.key', $value);

Updating multiple config settings at the same time:

$this->configShallow(['one' => 'value', 'another' => 'value']);

Parameters

array<string, mixed>|string $key

The key to set, or a complete array of configs.

mixed|null $value optional

The value to set.

Returns

$this

critical() public

critical(string $message, mixed[] $context = array()): void

Critical conditions.

Example: Application component unavailable, unexpected exception.

Parameters

string $message
mixed[] $context optional

Returns

void

debug() public

debug(string $message, mixed[] $context = array()): void

Detailed debug information.

Parameters

string $message
mixed[] $context optional

Returns

void

emergency() public

emergency(string $message, mixed[] $context = array()): void

System is unusable.

Parameters

string $message
mixed[] $context optional

Returns

void

error() public

error(string $message, mixed[] $context = array()): void

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

Parameters

string $message
mixed[] $context optional

Returns

void

getConfig() public

getConfig(string|null $key = null, mixed $default = null): mixed

Returns the config.

Usage

Reading the whole config:

$this->getConfig();

Reading a specific value:

$this->getConfig('key');

Reading a nested value:

$this->getConfig('some.nested.key');

Reading with default value:

$this->getConfig('some-key', 'default-value');

Parameters

string|null $key optional

The key to get or null for the whole config.

mixed $default optional

The return value when the key does not exist.

Returns

mixed

getConfigOrFail() public

getConfigOrFail(string $key): mixed

Returns the config for this specific key.

The config value for this key must exist, it can never be null.

Parameters

string $key

The key to get.

Returns

mixed

Throws

InvalidArgumentException

info() public

info(string $message, mixed[] $context = array()): void

Interesting events.

Example: User logs in, SQL logs.

Parameters

string $message
mixed[] $context optional

Returns

void

interpolate() protected

interpolate(string $message, array $context = []): string

Replaces placeholders in message string with context values.

Parameters

string $message

Formatted string

array $context optional

Context for placeholder values.

Returns

string

levels() public

levels(): array<string>

Get the levels this logger is interested in.

Returns

array<string>

log() public

log(mixed $level, string $message, mixed[] $context = []): void

Logs with an arbitrary level.

Parameters

mixed $level
string $message
mixed[] $context optional

Returns

void

notice() public

notice(string $message, mixed[] $context = array()): void

Normal but significant events.

Parameters

string $message
mixed[] $context optional

Returns

void

scopes() public

scopes(): array<string>|false

Get the scopes this logger is interested in.

Returns

array<string>|false

setConfig() public

setConfig(array<string, mixed>|string $key, mixed|null $value = null, bool $merge = true): $this

Sets the config.

Usage

Setting a specific value:

$this->setConfig('key', $value);

Setting a nested value:

$this->setConfig('some.nested.key', $value);

Updating multiple config settings at the same time:

$this->setConfig(['one' => 'value', 'another' => 'value']);

Parameters

array<string, mixed>|string $key

The key to set, or a complete array of configs.

mixed|null $value optional

The value to set.

bool $merge optional

Whether to recursively merge or overwrite existing config, defaults to true.

Returns

$this

Throws

Cake\Core\Exception\CakeException
When trying to set a key that is invalid.

warning() public

warning(string $message, mixed[] $context = array()): void

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 $message
mixed[] $context optional

Returns

void

Property Detail

$_config protected

Runtime config

Type

array<string, mixed>

$_configInitialized protected

Whether the config property has already been configured with defaults

Type

bool

$_defaultConfig protected

Default config for this class

Type

array<string, mixed>

$formatter protected

Type

Cake\Log\Formatter\AbstractFormatter

© 2005–present The Cake Software Foundation, Inc.
Licensed under the MIT License.
CakePHP is a registered trademark of Cake Software Foundation, Inc.
We are not endorsed by or affiliated with CakePHP.
https://api.cakephp.org/4.4/class-Cake.Database.Log.QueryLogger.html