@@ -15,28 +15,19 @@ class LogResponse
1515 * @param IlluminateJsonResponse $response
1616 * @return void
1717 */
18- public static function log (IlluminateJsonResponse $ response ): void
18+ public static function logResponse (IlluminateJsonResponse $ response ): void
1919 {
20- $ validLevels = ['emergency ' , 'alert ' , 'critical ' , 'error ' , 'warning ' , 'notice ' , 'info ' , 'debug ' ];
21- $ level = Config::get ('responsebuilder.logging_level ' , 'info ' );
22-
23- if (!in_array ($ level , $ validLevels , true )) {
24- $ level = 'info ' ; // Default level
20+ if (Config::get ('responsebuilder.log_responses ' , false ) === false ) {
21+ return ;
2522 }
2623
27-
2824 $ logData = [
2925 'status ' => $ response ->status (),
3026 'headers ' => $ response ->headers ->all (),
3127 'content ' => self ::sanitizeContent ($ response ->getContent ()),
3228 ];
3329
34- $ formattedLog = json_encode ($ logData , JSON_PRETTY_PRINT );
35-
36-
37- if (Config::get ('responsebuilder.log_responses ' , false )) {
38- Log::$ level ($ formattedLog );
39- }
30+ self ::logFormattedData ($ logData );
4031 }
4132
4233 /**
@@ -46,7 +37,7 @@ public static function log(IlluminateJsonResponse $response): void
4637 */
4738 public static function logRequest (): void
4839 {
49- if (Config::get ('responsebuilder.log_requests ' , false )) {
40+ if (Config::get ('responsebuilder.log_requests ' , false ) === false ) {
5041 return ;
5142 }
5243
@@ -59,9 +50,7 @@ public static function logRequest(): void
5950 'body ' => $ request ->all (),
6051 ];
6152
62- $ formattedLog = json_encode ($ logData , JSON_PRETTY_PRINT );
63-
64- Log::info ('Request Data: ' . $ formattedLog );
53+ self ::logFormattedData ($ logData , 'Request Data: ' );
6554 }
6655
6756 /**
@@ -72,7 +61,7 @@ public static function logRequest(): void
7261 */
7362 public static function logResponseTime (float $ startTime ): void
7463 {
75- if (Config::get ('responsebuilder.log_response_time ' , false )) {
64+ if (Config::get ('responsebuilder.log_response_time ' , false ) === false ) {
7665 return ;
7766 }
7867
@@ -83,17 +72,45 @@ public static function logResponseTime(float $startTime): void
8372 'response_time ' => number_format ($ responseTime * 1000 , 2 ) . ' ms ' ,
8473 ];
8574
86- $ formattedLog = json_encode ($ logData , JSON_PRETTY_PRINT );
87-
88- Log::info ('Response Time: ' . $ formattedLog );
75+ self ::logFormattedData ($ logData , 'Response Time: ' );
8976 }
9077
9178 /**
92- * Sanitize response content to remove sensitive information .
79+ * Log formatted data .
9380 *
94- * @param string $content
95- * @return string
81+ * @param array $logData
82+ * @param string $prefix
83+ * @return void
9684 */
85+ private static function logFormattedData (array $ logData , string $ prefix = '' ): void
86+ {
87+ $ level = self ::getLogLevel ();
88+ $ channel = self ::getLogChannel ();
89+
90+ $ formattedLog = json_encode ($ logData , JSON_PRETTY_PRINT );
91+
92+ Log::channel ($ channel )->log ($ level , $ prefix . $ formattedLog );
93+ }
94+
95+ private static function getLogChannel (): string
96+ {
97+ $ level = self ::getLogLevel ();
98+
99+ return "responsebuilder_ {$ level }" ;
100+ }
101+
102+ private static function getLogLevel (): string
103+ {
104+ $ validLevels = ['emergency ' , 'alert ' , 'critical ' , 'error ' , 'warning ' , 'notice ' , 'info ' , 'debug ' ];
105+ $ level = Config::get ('responsebuilder.logging_level ' , 'info ' );
106+
107+ if (!in_array ($ level , $ validLevels , true )) {
108+ $ level = 'info ' ; // Default level
109+ }
110+
111+ return $ level ;
112+ }
113+
97114 private static function sanitizeContent (string $ content ): string
98115 {
99116 $ decodedContent = json_decode ($ content , true );
0 commit comments