Skip to content

Commit c8727ea

Browse files
committed
use StreamHandler parameter to output verbosity
1 parent c14b810 commit c8727ea

File tree

1 file changed

+13
-32
lines changed

1 file changed

+13
-32
lines changed

src/BuffLog/BuffLog.php

Lines changed: 13 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,19 @@ protected static function configureInstance()
4040
// define the logger name. This will make it easier for developers
4141
// to read and friendlier to identify where come the logs at a glance
4242
$logger = new Logger('php-bufflog');
43-
$handler = new StreamHandler('php://stdout');
43+
44+
$logLevelFromEnv = getenv("LOG_LEVEL");
45+
$monologLevels = $logger->getLevels();
46+
if ($logLevelFromEnv) {
47+
// only if the level exists, we change the verbosity level
48+
if (key_exists($logLevelFromEnv, $monologLevels)) {
49+
self::$verbosityLevel = $monologLevels[$logLevelFromEnv];
50+
} else {
51+
error_log("LOG_LEVEL {$logLevelFromEnv} is not defined, use one of: " . implode(', ', array_keys($monologLevels)));
52+
}
53+
}
54+
55+
$handler = new StreamHandler('php://stdout', self::$verbosityLevel);
4456
$handler->setFormatter( new \Monolog\Formatter\JsonFormatter() );
4557
$logger->pushHandler($handler);
4658
self::$instance = $logger;
@@ -55,10 +67,6 @@ public static function __callStatic($methodName, $args)
5567

5668
if (in_array($methodName, self::$logOutputMethods)) {
5769

58-
if (! self::shouldWriteLogs($methodName)) {
59-
return;
60-
}
61-
6270
self::enrichLog();
6371
}
6472
// Where the magic happen. We "proxy" functions name with arguments to the Monolog instance
@@ -72,33 +80,6 @@ public static function __callStatic($methodName, $args)
7280
}
7381
}
7482

75-
private static function setVerbosityLevel()
76-
{
77-
$logLevelFromEnv = getenv(self::$logLevelEnvVar);
78-
$monologLevels = self::getLogger()->getLevels();
79-
if ($logLevelFromEnv) {
80-
// only if the level exists, we change the verbosity level
81-
if (key_exists($logLevelFromEnv, $monologLevels)) {
82-
self::$verbosityLevel = $monologLevels[$logLevelFromEnv];
83-
} else {
84-
error_log("LOG_LEVEL {$logLevelFromEnv} is not defined, use one of: " . implode(', ', array_keys($monologLevels)));
85-
}
86-
}
87-
}
88-
89-
90-
private static function shouldWriteLogs($methodName)
91-
{
92-
// Optimization: we could move this at the singleton initialization
93-
self::setVerbosityLevel();
94-
95-
if ( self::getLogger()->getLevels()[strtoupper($methodName)] >= self::$verbosityLevel) {
96-
return true;
97-
}
98-
99-
return false;
100-
}
101-
10283
private static function enrichLog()
10384
{
10485
// This should probably implemented as a Monolog Processor

0 commit comments

Comments
 (0)