@@ -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