diff --git a/src/EventListener/IpTraceListener.php b/src/EventListener/IpTraceListener.php
deleted file mode 100644
index 857c1b41..00000000
--- a/src/EventListener/IpTraceListener.php
+++ /dev/null
@@ -1,42 +0,0 @@
-ipTraceableListener = $ipTraceableListener;
- }
-
- public function onKernelRequest(RequestEvent $event): void
- {
- if (!$event->isMainRequest()) {
- return;
- }
-
- $ip = $event->getRequest()->getClientIp();
-
- if (null !== $ip) {
- $this->ipTraceableListener->setIpValue($ip);
- }
- }
-
- public static function getSubscribedEvents(): array
- {
- return array(
- KernelEvents::REQUEST => ['onKernelRequest', 500],
- );
- }
-}
diff --git a/src/Resources/config/ip_traceable.xml b/src/Resources/config/ip_traceable.xml
index d480f036..9f024106 100644
--- a/src/Resources/config/ip_traceable.xml
+++ b/src/Resources/config/ip_traceable.xml
@@ -12,11 +12,9 @@
-
-
-
-
-
+
+
+
diff --git a/src/Resources/config/tool.xml b/src/Resources/config/tool.xml
index 1c9d43ca..7442c926 100644
--- a/src/Resources/config/tool.xml
+++ b/src/Resources/config/tool.xml
@@ -9,5 +9,9 @@
+
+
+
+
diff --git a/src/Tool/RequestStackIpAddressProvider.php b/src/Tool/RequestStackIpAddressProvider.php
new file mode 100644
index 00000000..df1a210a
--- /dev/null
+++ b/src/Tool/RequestStackIpAddressProvider.php
@@ -0,0 +1,36 @@
+requestStack = $requestStack;
+ }
+
+ public function getAddress(): ?string
+ {
+ if (null === $this->requestStack) {
+ return null;
+ }
+
+ $request = $this->requestStack->getCurrentRequest();
+
+ if (null === $request) {
+ return null;
+ }
+
+ return $request->getClientIp();
+ }
+}