Menu

## Logger extends BaseConfig
in package

Logger.php : 9

### Table of Contents

#### Properties

$dateFormat : string
  -------------------------------------------------------------------------- Date Format for Logs --------------------------------------------------------------------------
$handlers : array<HandlerInterface>, array<string, int|array<int, string>|string>>
  -------------------------------------------------------------------------- Log Handlers --------------------------------------------------------------------------
$threshold : int|array<int, int>
  -------------------------------------------------------------------------- Error Logging Threshold --------------------------------------------------------------------------

### Properties

#### $dateFormat

Logger.php : 52

-------------------------------------------------------------------------- Date Format for Logs --------------------------------------------------------------------------

`public string $dateFormat = 'Y-m-d H:i:s'`

Each item that is logged has an associated date. You can use PHP date codes to set your own date formatting

#### $handlers

Logger.php : 79

-------------------------------------------------------------------------- Log Handlers --------------------------------------------------------------------------

`public array<HandlerInterface>, array<string, int|array<int, string>|string>> $handlers = [ /* * -------------------------------------------------------------------- * File Handler * -------------------------------------------------------------------- */ \CodeIgniter\Log\Handlers\FileHandler::class => [ // The log levels that this handler will handle. 'handles' => ['critical', 'alert', 'emergency', 'debug', 'error', 'info', 'notice', 'warning'], /* * The default filename extension for log files. * An extension of 'php' allows for protecting the log files via basic * scripting, when they are to be stored under a publicly accessible directory. * * NOTE: Leaving it blank will default to 'log'. */ 'fileExtension' => '', /* * The file system permissions to be applied on newly created log files. * * IMPORTANT: This MUST be an integer (no quotes) and you MUST use octal * integer notation (i.e. 0700, 0644, etc.) */ 'filePermissions' => 0644, /* * Logging Directory Path * * By default, logs are written to WRITEPATH . 'logs/' * Specify a different destination here, if desired. */ 'path' => '', ], ]`

The logging system supports multiple actions to be taken when something is logged. This is done by allowing for multiple Handlers, special classes designed to write the log to their chosen destinations, whether that is a file on the getServer, a cloud-based service, or even taking actions such as emailing the dev team.

Each handler is defined by the class name used for that handler, and it MUST implement the `CodeIgniter\Log\Handlers\HandlerInterface` interface.

The value of each key is an array of configuration items that are sent to the constructor of each handler. The only required configuration item is the 'handles' element, which must be an array of integer log levels. This is most easily handled by using the constants defined in the `Psr\Log\LogLevel` class.

Handlers are executed in the order defined in this array, starting with the handler on top and continuing down.

#### $threshold

Logger.php : 42

-------------------------------------------------------------------------- Error Logging Threshold --------------------------------------------------------------------------

`public int|array<int, int> $threshold = ENVIRONMENT === 'production' ? 4 : 9`

You can enable error logging by setting a threshold over zero. The threshold determines what gets logged. Any values below or equal to the threshold will be logged.

Threshold options are:

- 0 = Disables logging, Error logging TURNED OFF
- 1 = Emergency Messages - System is unusable
- 2 = Alert Messages - Action Must Be Taken Immediately
- 3 = Critical Messages - Application component unavailable, unexpected exception.
- 4 = Runtime Errors - Don't need immediate action, but should be monitored.
- 5 = Warnings - Exceptional occurrences that are not errors.
- 6 = Notices - Normal but significant events.
- 7 = Info - Interesting events, like user logging in, etc.
- 8 = Debug - Detailed debug information.
- 9 = All Messages

You can also pass an array with threshold levels to show individual error types

    array(1, 2, 3, 8) = Emergency, Alert, Critical, and Debug messages

For a live site you'll usually enable Critical or higher (3) to be logged otherwise your log files will fill up very fast.

## Search results