2015-04-27 23:28:19 +03:00
|
|
|
## Log Normalizer
|
|
|
|
|
2015-04-25 00:54:21 +03:00
|
|
|
Parses variables and converts them to string so that they can be logged
|
|
|
|
|
2015-04-27 03:27:36 +03:00
|
|
|
Based on the [Monolog](https://github.com/Seldaek/monolog) formatter/normalizer.
|
2015-04-25 16:25:46 +03:00
|
|
|
|
|
|
|
## How to use
|
|
|
|
|
|
|
|
### Initialisation in your class
|
|
|
|
|
2015-04-25 22:13:06 +03:00
|
|
|
```php
|
2020-12-02 11:46:25 +03:00
|
|
|
use Nextcloud\LogNormalizer\Normalizer;
|
2015-04-25 16:25:46 +03:00
|
|
|
|
|
|
|
$normalizer = new Normalizer();
|
|
|
|
```
|
|
|
|
|
|
|
|
The constructor supports the following optional arguments
|
|
|
|
|
2015-04-27 03:27:36 +03:00
|
|
|
* `int $maxRecursionDepth`: The maximum depth at which you want to go in objects and arrays
|
|
|
|
* `int $maxArrayItems`: The maximum number of elements you want to show, when parsing an array or an object
|
2015-04-25 16:25:46 +03:00
|
|
|
* `string $dateFormat`: The format to apply to dates
|
|
|
|
|
2015-04-27 03:27:36 +03:00
|
|
|
### Format variables before logging them
|
2015-04-25 16:25:46 +03:00
|
|
|
|
2015-04-25 16:58:18 +03:00
|
|
|
This is what your logging function could look like
|
|
|
|
|
2015-04-25 22:13:06 +03:00
|
|
|
```php
|
2015-04-25 16:58:18 +03:00
|
|
|
/**
|
|
|
|
* Converts the variables in the received log message to string before
|
|
|
|
* sending everything to the real logger
|
|
|
|
*
|
|
|
|
* @param string $level
|
|
|
|
* @param string $message
|
|
|
|
* @param array $variables
|
|
|
|
*
|
|
|
|
* @return mixed
|
|
|
|
*/
|
|
|
|
public function log($level, $message, array $variables= []) {
|
|
|
|
array_walk($variables, [$this->normalizer, 'format']);
|
2015-04-25 16:25:46 +03:00
|
|
|
|
2015-04-25 16:58:18 +03:00
|
|
|
// Then use your current PSR-3 compatible logging system
|
|
|
|
$this->logger->log($level, $message, $variables);
|
2015-04-25 16:25:46 +03:00
|
|
|
}
|
|
|
|
```
|
|
|
|
|
2015-04-25 16:58:18 +03:00
|
|
|
And you would call it like this from another class
|
|
|
|
|
2015-04-25 22:13:06 +03:00
|
|
|
```php
|
2015-04-25 17:08:11 +03:00
|
|
|
$myLogger->log('debug',
|
2015-04-25 17:05:19 +03:00
|
|
|
'Logger test {var1}, {var2}',
|
|
|
|
[
|
|
|
|
'var1' => $var1,
|
|
|
|
'var2' => $var2
|
|
|
|
]
|
2015-04-25 17:08:11 +03:00
|
|
|
);
|
|
|
|
```
|
2015-04-25 16:58:18 +03:00
|
|
|
|
2015-04-27 03:27:36 +03:00
|
|
|
### Convert a single variable to a string
|
2015-04-25 16:25:46 +03:00
|
|
|
|
2015-04-25 22:13:06 +03:00
|
|
|
```php
|
2015-04-25 16:25:46 +03:00
|
|
|
$normalizedVariable = $this->normalizer->format($variable);
|
|
|
|
```
|