99use Amp \Log \ConsoleFormatter ;
1010use Amp \Log \StreamHandler ;
1111use Monolog \Formatter \LineFormatter ;
12+ use Monolog \Level ;
1213use Monolog \Logger ;
1314use Monolog \Processor \PsrLogMessageProcessor ;
1415use Phenix \Constants \ServerMode ;
@@ -21,12 +22,16 @@ class LoggerFactory implements Makeable
2122{
2223 public static function make (string $ key , ServerMode $ serverMode = ServerMode::SINGLE ): Logger
2324 {
25+ /** @var int|string|null $levelConfig */
26+ $ levelConfig = Config::get ('app.debug_level ' );
27+ $ level = Level::tryFrom ((int ) $ levelConfig ) ?? Level::Debug;
28+
2429 if ($ serverMode === ServerMode::CLUSTER && Cluster::isWorker ()) {
25- $ logHandler = Cluster::createLogHandler ();
30+ $ logHandler = Cluster::createLogHandler ($ level );
2631 } else {
2732 $ logHandler = match ($ key ) {
28- 'file ' => self ::fileHandler (),
29- 'stream ' => self ::streamHandler (),
33+ 'file ' => self ::fileHandler ($ level ),
34+ 'stream ' => self ::streamHandler ($ level ),
3035 default => throw new RuntimeError ("Unsupported logging channel: {$ key }" ),
3136 };
3237 }
@@ -37,16 +42,16 @@ public static function make(string $key, ServerMode $serverMode = ServerMode::SI
3742 return $ logger ;
3843 }
3944
40- private static function streamHandler (): StreamHandler
45+ private static function streamHandler (Level $ level ): StreamHandler
4146 {
42- $ logHandler = new StreamHandler (ByteStream \getStdout ());
47+ $ logHandler = new StreamHandler (ByteStream \getStdout (), $ level );
4348 $ logHandler ->pushProcessor (new PsrLogMessageProcessor ());
4449 $ logHandler ->setFormatter (new ConsoleFormatter ());
4550
4651 return $ logHandler ;
4752 }
4853
49- private static function fileHandler (): StreamHandler
54+ private static function fileHandler (Level $ level ): StreamHandler
5055 {
5156 $ path = Config::get ('logging.path ' );
5257
@@ -56,7 +61,7 @@ private static function fileHandler(): StreamHandler
5661
5762 $ file = File::openFile ($ path , 'a ' );
5863
59- $ logHandler = new StreamHandler ($ file );
64+ $ logHandler = new StreamHandler ($ file, $ level );
6065 $ logHandler ->pushProcessor (new PsrLogMessageProcessor ());
6166 $ logHandler ->setFormatter (new LineFormatter ());
6267
0 commit comments