MadelineProtoDocs/docs/docs/LOGGING.md

2.6 KiB

title description image
Logging MadelineProto provides a unified class for logging messages to the logging destination defined in [settings](SETTINGS.html#settingslogger). https://docs.madelineproto.xyz/favicons/android-chrome-256x256.png

Logging

MadelineProto provides a unified class for logging messages to the logging destination defined in settings.

Use the settings to modify the default logging destination and log verbosity:

$settings['logger']

Logger settings

$settings['logger']['logger']

Default: \danog\MadelineProto\Logger::ECHO_LOGGER if running from CLI, \danog\MadelineProto\Logger::FILE_LOGGER if running from browser
Description: logger mode, available logger modes:

  • \danog\MadelineProto\Logger::DEFAULT_LOGGER - Log to the default logger destination
  • \danog\MadelineProto\Logger::FILE_LOGGER - Log to file in $settings['logger']['logger_param']
  • \danog\MadelineProto\Logger::ECHO_LOGGER - Echo logs
  • \danog\MadelineProto\Logger::CALLABLE_LOGGER - Call callable provided in $settings['logger']['logger_param']. logger_param must accept two parameters: array $message, int $level

$settings['logger']['param']

Default: __DIR__.'/Madeline.log'
Description: optional logger parameter, for modes that require it

$settings['logger']['logger_level']

Default: \danog\MadelineProto\Logger::VERBOSE
Description: What logger messages to show

Example:

$settings = [
    'logger' => [
        'logger_level' => Logger::VERBOSE,
        //'logger' => Logger::ECHO_LOGGER // Can be omitted to use default values
    ]
];
$MadelineProto = new \danog\MadelineProto\API('session.madeline', $settings);

Note: when running from web, MadelineProto will also automatically enable logging of PHP errors (not MadelineProto logs) to MadelineProto.log, located in the same directory as the script that loaded MadelineProto.

Usage:

$MadelineProto->logger($message, $level);

$message is a string, an integer, an array, or any json-encodable object.
$level (optional) is one of the following constants:

  • \danog\MadelineProto\Logger::FATAL_ERROR - Indicates a fatal error
  • \danog\MadelineProto\Logger::ERROR - Indicates a recoverable error
  • \danog\MadelineProto\Logger::NOTICE - Indicates an info message
  • \danog\MadelineProto\Logger::VERBOSE - Indicates a verbose info message
  • \danog\MadelineProto\Logger::ULTRA_VERBOSE - Indicates an ultra verbose

By default, $level is \danog\MadelineProto\Logger::NOTICE.

Next section