MadelineProtoDocs/docs/docs/LOGGING.md

65 lines
2.7 KiB
Markdown
Raw Normal View History

2018-04-11 14:17:45 +02:00
---
title: Logging
description: MadelineProto provides a unified class for logging messages to the logging destination defined in [settings](SETTINGS.html#settingslogger).
image: https://docs.madelineproto.xyz/favicons/android-chrome-256x256.png
---
2018-04-01 13:19:25 +02:00
# Logging
MadelineProto provides a unified class for logging messages to the logging destination defined in [settings](SETTINGS.html#settingslogger).
2020-02-13 17:56:23 +01:00
Use the [settings](SETTINGS.html#settingslogger) 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:
```php
2020-02-13 18:02:04 +01:00
use danog\MadelineProto\Logger;
2020-02-13 17:56:23 +01:00
$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);
```
2019-06-05 16:57:41 +02:00
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.
2020-02-13 17:56:23 +01:00
## Usage:
2019-06-05 16:57:41 +02:00
2018-04-01 13:19:25 +02:00
```php
2019-06-07 19:17:19 +02:00
$MadelineProto->logger($message, $level);
2018-04-01 13:19:25 +02:00
```
`$message` is a string, an integer, an array, or any json-encodable object.
2019-06-02 13:45:29 +02:00
`$level` (optional) is one of the following constants:
2019-04-02 17:31:12 +02:00
* `\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
2018-04-01 13:19:25 +02:00
2019-04-02 17:31:12 +02:00
By default, `$level` is `\danog\MadelineProto\Logger::NOTICE`.
2018-04-01 13:19:25 +02:00
2020-02-25 20:47:36 +01:00
<a href="https://docs.madelineproto.xyz/docs/CALLS.html">Next section</a>