Commit 0cad11f1 authored by Fabien Potencier's avatar Fabien Potencier

bug #1625 Support PSR-3 log levels in MonologServiceProvider (hkdobrev)

This PR was squashed before being merged into the 2.3.x-dev branch (closes #1625).

Discussion
----------

Support PSR-3 log levels in MonologServiceProvider

Monolog already support them everywhere, but when using the `MonologServiceProvider` you cannot use them reliably.

Commits
-------

0a88f1d2 Support PSR-3 log levels in MonologServiceProvider
parents 67f80f0c 0a88f1d2
...@@ -14,6 +14,7 @@ Changelog ...@@ -14,6 +14,7 @@ Changelog
* dropped support for PHP < 7.1 * dropped support for PHP < 7.1
* dropped support for Symfony 2.x and 3.x * dropped support for Symfony 2.x and 3.x
* added support for Symfony 4 * added support for Symfony 4
* added support PSR-3 log levels in MonologServiceProvider
2.2.3 (2018-02-25) 2.2.3 (2018-02-25)
------------------ ------------------
......
...@@ -25,6 +25,8 @@ Parameters ...@@ -25,6 +25,8 @@ Parameters
level in string form, for example: ``"DEBUG"``, ``"INFO"``, ``"WARNING"``, level in string form, for example: ``"DEBUG"``, ``"INFO"``, ``"WARNING"``,
``"ERROR"``. ``"ERROR"``.
PSR-3 log levels from ``\Psr\Log\LogLevel::`` constants are also supported.
* **monolog.name** (optional): Name of the monolog channel, * **monolog.name** (optional): Name of the monolog channel,
defaults to ``myapp``. defaults to ``myapp``.
......
...@@ -41,7 +41,9 @@ class MonologServiceProvider implements ServiceProviderInterface, BootableProvid ...@@ -41,7 +41,9 @@ class MonologServiceProvider implements ServiceProviderInterface, BootableProvid
if ($bridge = class_exists('Symfony\Bridge\Monolog\Logger')) { if ($bridge = class_exists('Symfony\Bridge\Monolog\Logger')) {
if (isset($app['request_stack'])) { if (isset($app['request_stack'])) {
$app['monolog.not_found_activation_strategy'] = function () use ($app) { $app['monolog.not_found_activation_strategy'] = function () use ($app) {
return new NotFoundActivationStrategy($app['request_stack'], ['^/'], $app['monolog.level']); $level = MonologServiceProvider::translateLevel($app['monolog.level']);
return new NotFoundActivationStrategy($app['request_stack'], ['^/'], $level);
}; };
} }
} }
...@@ -128,6 +130,12 @@ class MonologServiceProvider implements ServiceProviderInterface, BootableProvid ...@@ -128,6 +130,12 @@ class MonologServiceProvider implements ServiceProviderInterface, BootableProvid
return $name; return $name;
} }
$psrLevel = Logger::toMonologLevel($name);
if (is_int($psrLevel)) {
return $psrLevel;
}
$levels = Logger::getLevels(); $levels = Logger::getLevels();
$upper = strtoupper($name); $upper = strtoupper($name);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment