Fr3nch13/CakePHP Utilities

FileLog extends BaseLog
in package

File Storage stream for Logging. Writes logs to different files based on the level of log it is.

Table of Contents

Properties

$_config  : array<string, mixed>
Runtime config
$_configInitialized  : bool
Whether the config property has already been configured with defaults
$_defaultConfig  : array<string, mixed>
Default config for this class
$_file  : string|null
The name of the file to save logs into.
$_path  : string
Path to save log files on.
$_size  : int|null
Max file size, used for log file rotation.
$formatter  : AbstractFormatter

Methods

__construct()  : mixed
Sets protected properties based on config provided
alert()  : void
Action must be taken immediately.
configShallow()  : $this
Merge provided config with existing config. Unlike `config()` which does a recursive merge for nested keys, this method does a simple merge.
critical()  : void
Critical conditions.
debug()  : void
Detailed debug information.
emergency()  : void
System is unusable.
error()  : void
Runtime errors that do not require immediate action but should typically be logged and monitored.
getConfig()  : mixed
Returns the config.
getConfigOrFail()  : mixed
Returns the config for this specific key.
info()  : void
Interesting events.
levels()  : array<string|int, string>
Get the levels this logger is interested in.
log()  : void
Implements writing to log files.
notice()  : void
Normal but significant events.
scopes()  : array<string|int, string>|false
Get the scopes this logger is interested in.
setConfig()  : $this
Sets the config.
warning()  : void
Exceptional occurrences that are not errors.
_configDelete()  : void
Deletes a single config key.
_configRead()  : mixed
Reads a config key.
_configWrite()  : void
Writes a config key.
_format()  : string
Formats the message to be logged.
_getFilename()  : string
Get filename
_rotateFile()  : bool|null
Rotate log file if size specified in config is reached.
interpolate()  : string
Replaces placeholders in message string with context values.

Properties

$_configInitialized

Whether the config property has already been configured with defaults

protected bool $_configInitialized = false

$_defaultConfig

Default config for this class

protected array<string, mixed> $_defaultConfig = [ 'path' => null, 'file' => null, 'types' => null, 'levels' => [], 'scopes' => [], 'rotate' => 10, 'size' => 10485760, // 10MB 'mask' => null, 'formatter' => ['className' => \Cake\Log\Formatter\DefaultFormatter::class], ]
  • levels string or array, levels the engine is interested in
  • scopes string or array, scopes the engine is interested in
  • file Log file name
  • path The path to save logs on.
  • size Used to implement basic log file rotation. If log file size reaches specified size the existing file is renamed by appending timestamp to filename and new log file is created. Can be integer bytes value or human readable string values like '10MB', '100KB' etc.
  • rotate Log files are rotated specified times before being removed. If value is 0, old versions are removed rather then rotated.
  • mask A mask is applied when log files are created. Left empty no chmod is made.
  • dateFormat PHP date() format.

$_file

The name of the file to save logs into.

protected string|null $_file

$_path

Path to save log files on.

protected string $_path

$_size

Max file size, used for log file rotation.

protected int|null $_size

Methods

__construct()

Sets protected properties based on config provided

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

Configuration array

alert()

Action must be taken immediately.

public alert(string|Stringable $message[, array<string|int, mixed> $context = [] ]) : void

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

Parameters
$message : string|Stringable
$context : array<string|int, mixed> = []

configShallow()

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

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

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
$key : array<string, mixed>|string

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

$value : mixed|null = null

The value to set.

Return values
$this

critical()

Critical conditions.

public critical(string|Stringable $message[, array<string|int, mixed> $context = [] ]) : void

Example: Application component unavailable, unexpected exception.

Parameters
$message : string|Stringable
$context : array<string|int, mixed> = []

debug()

Detailed debug information.

public debug(string|Stringable $message[, array<string|int, mixed> $context = [] ]) : void
Parameters
$message : string|Stringable
$context : array<string|int, mixed> = []

emergency()

System is unusable.

public emergency(string|Stringable $message[, array<string|int, mixed> $context = [] ]) : void
Parameters
$message : string|Stringable
$context : array<string|int, mixed> = []

error()

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

public error(string|Stringable $message[, array<string|int, mixed> $context = [] ]) : void
Parameters
$message : string|Stringable
$context : array<string|int, mixed> = []

getConfig()

Returns the config.

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

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
$key : string|null = null

The key to get or null for the whole config.

$default : mixed = null

The return value when the key does not exist.

Return values
mixed

Configuration data at the named key or null if the key does not exist.

getConfigOrFail()

Returns the config for this specific key.

public getConfigOrFail(string $key) : mixed

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

Parameters
$key : string

The key to get.

Tags
throws
InvalidArgumentException
Return values
mixed

Configuration data at the named key

info()

Interesting events.

public info(string|Stringable $message[, array<string|int, mixed> $context = [] ]) : void

Example: User logs in, SQL logs.

Parameters
$message : string|Stringable
$context : array<string|int, mixed> = []

levels()

Get the levels this logger is interested in.

public levels() : array<string|int, string>
Return values
array<string|int, string>

log()

Implements writing to log files.

public log(mixed $level, string $message[, array<string|int, mixed> $context = [] ]) : void
Parameters
$level : mixed

The severity level of the message being written.

$message : string

The message you want to log.

$context : array<string|int, mixed> = []

Additional information about the logged message

Tags
see
Log::$_levels

notice()

Normal but significant events.

public notice(string|Stringable $message[, array<string|int, mixed> $context = [] ]) : void
Parameters
$message : string|Stringable
$context : array<string|int, mixed> = []

scopes()

Get the scopes this logger is interested in.

public scopes() : array<string|int, string>|false
Return values
array<string|int, string>|false

setConfig()

Sets the config.

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

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
$key : array<string, mixed>|string

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

$value : mixed|null = null

The value to set.

$merge : bool = true

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

Tags
throws
CakeException

When trying to set a key that is invalid.

Return values
$this

warning()

Exceptional occurrences that are not errors.

public warning(string|Stringable $message[, array<string|int, mixed> $context = [] ]) : void

Example: Use of deprecated APIs, poor use of an API, undesirable things that are not necessarily wrong.

Parameters
$message : string|Stringable
$context : array<string|int, mixed> = []

_configDelete()

Deletes a single config key.

protected _configDelete(string $key) : void
Parameters
$key : string

Key to delete.

Tags
throws
CakeException

if attempting to clobber existing config

_configRead()

Reads a config key.

protected _configRead(string|null $key) : mixed
Parameters
$key : string|null

Key to read.

_configWrite()

Writes a config key.

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

Key to write to.

$value : mixed

Value to write.

$merge : string|bool = false

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

Tags
throws
CakeException

if attempting to clobber existing config

_format()

Formats the message to be logged.

protected _format(string $message[, array<string|int, mixed> $context = [] ]) : string

Call interpolate() directly from your log engine and format the message in a formatter.

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

Parameters
$message : string

The message to be formatted.

$context : array<string|int, mixed> = []

Additional logging information for the message.

Return values
string

_getFilename()

Get filename

protected _getFilename(string $level) : string
Parameters
$level : string

The level of log.

Return values
string

File name

_rotateFile()

Rotate log file if size specified in config is reached.

protected _rotateFile(string $filename) : bool|null

Also if rotate count is reached oldest file is removed.

Parameters
$filename : string

Log file name

Return values
bool|null

True if rotated successfully or false in case of error. Null if file doesn't need to be rotated.

interpolate()

Replaces placeholders in message string with context values.

protected interpolate(string $message[, array<string|int, mixed> $context = [] ]) : string
Parameters
$message : string

Formatted string

$context : array<string|int, mixed> = []

Context for placeholder values.

Return values
string

        
On this page

Search results