99namespace Opengento \WebapiLogger \Model ;
1010
1111use Exception ;
12- use Opengento \WebapiLogger \Model \ResourceModel \LogResourceModel ;
1312use Psr \Log \LoggerInterface ;
1413
1514class LogHandle
@@ -18,9 +17,9 @@ class LogHandle
1817
1918 public function __construct (
2019 private LogFactory $ logFactory ,
21- private LogResourceModel $ logResourceModel ,
2220 private SecretParser $ secretParser ,
2321 private Config $ config ,
22+ private LoggerManager $ loggerManager ,
2423 private LoggerInterface $ logger
2524 ) {}
2625
@@ -31,7 +30,7 @@ public function before(
3130 string $ requestHeaders ,
3231 string $ requestBody ,
3332 string $ requestDateTime
34- ) {
33+ ): void {
3534 try {
3635 if ($ this ->config ->isSecretMode ()) {
3736 $ requestorIp = $ this ->secretParser ->parseIp ();
@@ -41,40 +40,43 @@ public function before(
4140
4241 $ log = $ this ->logFactory ->create ();
4342 $ log ->setData ([
43+ 'is_request ' => true ,
4444 'request_method ' => $ requestMethod ,
4545 'requestor_ip ' => $ requestorIp ,
4646 'request_url ' => $ requestPath ,
4747 'request_headers ' => $ requestHeaders ,
4848 'request_body ' => $ requestBody ,
4949 'request_datetime ' => $ requestDateTime
5050 ]);
51- $ this ->logResourceModel -> save ($ log );
51+ $ this ->loggerManager -> log ($ log );
5252 $ this ->lastLog = $ log ;
5353 } catch (Exception $ exception ) {
54- $ this ->logger ->error (__ ( 'Cant complete webapi log save because of error: %1 ' , $ exception ->getMessage () ));
54+ $ this ->logger ->error ('Cant complete webapi log save because of error: ' . $ exception ->getMessage ());
5555 }
5656 }
5757
5858 public function after (
5959 string $ responseCode ,
6060 string $ responseBody ,
6161 string $ responseDateTime
62- ) {
63- if (!$ this ->lastLog ) {
64- return ;
65- }
62+ ): void {
63+ if ($ this ->lastLog ) {
64+ try {
65+ if ($ this ->config ->isSecretMode ()) {
66+ $ responseBody = $ this ->secretParser ->parseBody ($ responseBody );
67+ }
6668
67- try {
68- if ($ this ->config ->isSecretMode ()) {
69- $ responseBody = $ this ->secretParser ->parseBody ($ responseBody );
69+ $ this ->lastLog ->unsetData ('is_request ' );
70+ $ this ->lastLog ->addData ([
71+ 'is_response ' => true ,
72+ 'response_body ' => $ responseBody ,
73+ 'response_code ' => $ responseCode ,
74+ 'response_datetime ' => $ responseDateTime
75+ ]);
76+ $ this ->loggerManager ->log ($ log );
77+ } catch (Exception $ exception ) {
78+ $ this ->logger ->error ('Cant complete webapi log save because of error: ' . $ exception ->getMessage ());
7079 }
71-
72- $ this ->lastLog ->setResponseBody ($ responseBody );
73- $ this ->lastLog ->setResponseCode ($ responseCode );
74- $ this ->lastLog ->setResponseDatetime ($ responseDateTime );
75- $ this ->logResourceModel ->save ($ this ->lastLog );
76- } catch (Exception $ exception ) {
77- $ this ->logger ->error (__ ('Cant complete webapi log save because of error: %1 ' , $ exception ->getMessage ()));
7880 }
7981 }
8082}
0 commit comments