Skip to content

Commit 7121267

Browse files
committed
Add monolog channel & replace logger arguments with designated one & add try catch around methods related to integrations
1 parent 78a2869 commit 7121267

12 files changed

Lines changed: 72 additions & 43 deletions

File tree

config/config.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,4 +8,5 @@ twig:
88
imports:
99
- { resource: "state_machine/*" }
1010
- { resource: "events.yaml" }
11+
- { resource: "monolog.yaml" }
1112

config/monolog.yaml

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
monolog:
2+
channels: ["user_com"]
3+
handlers:
4+
main:
5+
type: stream
6+
path: "%kernel.logs_dir%/%kernel.environment%.log"
7+
level: debug
8+
user_com:
9+
type: stream
10+
path: "%kernel.logs_dir%/%kernel.environment%.user_com.log"
11+
level: debug
12+
channels: ["user_com"]
13+
firephp:
14+
type: firephp
15+
level: info

config/services/api.xml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,18 +5,18 @@
55
<defaults autowire="false" autoconfigure="false"/>
66
<service id="bit_bag.sylius_user_com_plugin.api.user_api" class="BitBag\SyliusUserComPlugin\Api\UserApi">
77
<argument type="service" id="http_client"/>
8-
<argument type="service" id="monolog.logger"/>
8+
<argument type="service" id="monolog.logger.user_com"/>
99
</service>
1010

1111
<service id="bit_bag.sylius_user_com_plugin.api.deal_api" class="BitBag\SyliusUserComPlugin\Api\DealApi">
1212
<argument type="service" id="http_client"/>
13-
<argument type="service" id="monolog.logger"/>
13+
<argument type="service" id="monolog.logger.user_com"/>
1414
<argument type="service" id="bit_bag.sylius_user_com_plugin.api.user_api"/>
1515
</service>
1616

1717
<service id="bit_bag.sylius_user_com_plugin.api.product_api" class="BitBag\SyliusUserComPlugin\Api\ProductApi">
1818
<argument type="service" id="http_client"/>
19-
<argument type="service" id="monolog.logger"/>
19+
<argument type="service" id="monolog.logger.user_com"/>
2020
</service>
2121
</services>
2222
</container>

config/services/assigner.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
<services>
55
<defaults autowire="false" autoconfigure="false"/>
66
<service id="bit_bag.sylius_user_com_plugin.assigner.agreements_assigner" class="BitBag\SyliusUserComPlugin\Assigner\AgreementsAssigner">
7-
<argument type="service" id="monolog.logger"/>
7+
<argument type="service" id="monolog.logger.user_com"/>
88
</service>
99
</services>
1010
</container>

config/services/authenticator.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
<defaults autowire="false" autoconfigure="false"/>
66
<service id="bit_bag.sylius_user_com_plugin.authenticator.request_authenticator" class="BitBag\SyliusUserComPlugin\Authenticator\RequestAuthenticator">
77
<argument type="service" id="sylius.context.channel.composite"/>
8-
<argument type="service" id="monolog.logger"/>
8+
<argument type="service" id="monolog.logger.user_com"/>
99
</service>
1010
</services>
1111
</container>

config/services/controller.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@
1111
<argument type="service" id="bit_bag.sylius_user_com_plugin.authenticator.request_authenticator"/>
1212
<argument type="service" id="bit_bag.sylius_user_com_plugin.synchronizer.customer_agreements_synchronizer"/>
1313
<argument type="service" id="bit_bag.sylius_user_com_plugin.validator.payload_validator"/>
14-
<argument type="service" id="monolog.logger"/>
14+
<argument type="service" id="monolog.logger.user_com"/>
1515
</service>
1616
</services>
1717
</container>

config/services/handler.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@
1212
<argument type="service" id="bit_bag.sylius_user_com_plugin.builder.payload.product_event_payload_builder"/>
1313
<argument type="service" id="bit_bag.sylius_user_com_plugin.api.deal_api"/>
1414
<argument type="service" id="bit_bag.sylius_user_com_plugin.api.product_api"/>
15-
<argument type="service" id="monolog.logger"/>
15+
<argument type="service" id="monolog.logger.user_com"/>
1616
<argument type="service" id="bit_bag.sylius_user_com_plugin.provider.user_com_api_aware_resource_provider"/>
1717
</service>
1818
</services>

config/services/manager.xml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@
1717
<argument type="service" id="bit_bag.sylius_user_com_plugin.manager.cookie_manager"/>
1818
<argument type="service" id="bit_bag.sylius_user_com_plugin.updater.customer_with_key_updater"/>
1919
<argument type="service" id="bit_bag.sylius_user_com_plugin.updater.customer_without_key_updater"/>
20+
<argument type="service" id="monolog.logger.user_com"/>
2021
</service>
2122
</services>
2223
</container>

config/services/provider.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
>
1010
<argument type="service" id="sylius.repository.channel"/>
1111
<argument type="service" id="sylius.context.channel.composite"/>
12-
<argument type="service" id="monolog.logger"/>
12+
<argument type="service" id="monolog.logger.user_com"/>
1313
</service>
1414
</services>
1515
</container>

src/Handler/OrderStateUpdateHandler.php

Lines changed: 25 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -86,28 +86,34 @@ private function createProductEvents(
8686
UserComApiAwareInterface $resource,
8787
string $email,
8888
): void {
89-
$eventType = self::PRODUCT_EVENT_MAP[$order->getState()] ?? null;
90-
if (null === $eventType) {
91-
$this->logger->warning(sprintf('Order #%s state "%s" is not supported.', $order->getNumber(), $order->getState()));
89+
try {
90+
$eventType = self::PRODUCT_EVENT_MAP[$order->getState()] ?? null;
91+
if (null === $eventType) {
92+
$this->logger->warning(sprintf('Order #%s state "%s" is not supported.', $order->getNumber(), $order->getState()));
9293

93-
return;
94-
}
95-
96-
foreach ($order->getItems() as $orderItem) {
97-
$variant = $orderItem->getVariant();
98-
if (null === $variant) {
99-
$this->logger->warning(sprintf('Order item #%s does not have a variant.', $orderItem->getId()));
100-
101-
continue;
94+
return;
10295
}
103-
$product = $variant->getProduct();
10496

105-
$this->productApi->createProductEventByCustomId(
106-
$resource,
107-
$variant->getId(),
108-
$this->productEventPayloadBuilder->build($eventType, $variant, $email),
109-
sprintf('%s - %s', $product?->getName(), $variant->getName()),
110-
);
97+
foreach ($order->getItems() as $orderItem) {
98+
$variant = $orderItem->getVariant();
99+
if (null === $variant) {
100+
$this->logger->warning(sprintf('Order item #%s does not have a variant.', $orderItem->getId()));
101+
102+
continue;
103+
}
104+
$product = $variant->getProduct();
105+
106+
$this->productApi->createProductEventByCustomId(
107+
$resource,
108+
$variant->getId(),
109+
$this->productEventPayloadBuilder->build($eventType, $variant, $email),
110+
sprintf('%s - %s', $product?->getName(), $variant->getName()),
111+
);
112+
}
113+
} catch (\Throwable $exception) {
114+
$this->logger->error('User.com - Product event request failed.', [
115+
'exception' => $exception,
116+
]);
111117
}
112118
}
113119
}

0 commit comments

Comments
 (0)