diff --git a/include/ice_transport.h b/include/ice_transport.h
index ca4b0862f935ddf273ed392cae9300d302265674..c5047b3b33696a10e517e4a50c0a6c0b44590a71 100644
--- a/include/ice_transport.h
+++ b/include/ice_transport.h
@@ -78,7 +78,7 @@ public:
     /**
      * Constructor
      */
-    IceTransport(std::string_view name);
+    IceTransport(std::string_view name, const std::shared_ptr<Logger>& logger = {});
     ~IceTransport();
 
     const std::shared_ptr<Logger>& logger() const;
diff --git a/include/ice_transport_factory.h b/include/ice_transport_factory.h
index ecb04b0d6d9d5ba57895e3493858a025cb30fda0..03aef1019c4b69434329f0838cfd6cfdfdca0099 100644
--- a/include/ice_transport_factory.h
+++ b/include/ice_transport_factory.h
@@ -33,7 +33,7 @@ namespace dhtnet {
 class IceTransportFactory
 {
 public:
-    IceTransportFactory();
+    IceTransportFactory(const std::shared_ptr<Logger>& logger = {});
     ~IceTransportFactory();
 
     std::shared_ptr<IceTransport> createTransport(std::string_view name);
@@ -50,6 +50,7 @@ public:
 private:
     std::shared_ptr<pj_caching_pool> cp_;
     pj_ice_strans_cfg ice_cfg_;
+    std::shared_ptr<Logger> logger_ {};
 };
 
 }; // namespace jami
diff --git a/src/ice_transport.cpp b/src/ice_transport.cpp
index 602347de8a4b4cd71b57277ed87c1c329b058e23..58e722de4de93f8f91750f6361e8724301f38ee2 100644
--- a/src/ice_transport.cpp
+++ b/src/ice_transport.cpp
@@ -95,7 +95,7 @@ public:
 class IceTransport::Impl
 {
 public:
-    Impl(std::string_view name);
+    Impl(std::string_view name, const std::shared_ptr<Logger>& logger);
     ~Impl();
 
     void initIceInstance(const IceTransportOptions& options);
@@ -327,8 +327,8 @@ add_turn_server(pj_pool_t& pool, pj_ice_strans_cfg& cfg, const TurnServerInfo& i
 
 //==============================================================================
 
-IceTransport::Impl::Impl(std::string_view name)
-    : sessionName_(name)
+IceTransport::Impl::Impl(std::string_view name, const std::shared_ptr<Logger>& logger)
+    : logger_(logger), sessionName_(name)
 {
     if (logger_)
         logger_->debug("[ice:{}] Creating IceTransport session for \"{:s}\"", fmt::ptr(this), name);
@@ -1161,8 +1161,8 @@ IceTransport::Impl::_waitForInitialization(std::chrono::milliseconds timeout)
 
 //==============================================================================
 
-IceTransport::IceTransport(std::string_view name)
-    : pimpl_ {std::make_unique<Impl>(name)}
+IceTransport::IceTransport(std::string_view name, const std::shared_ptr<dht::log::Logger>& logger)
+    : pimpl_ {std::make_unique<Impl>(name, logger)}
 {}
 
 IceTransport::~IceTransport()
@@ -1795,13 +1795,14 @@ IceTransport::link() const
 
 //==============================================================================
 
-IceTransportFactory::IceTransportFactory()
+IceTransportFactory::IceTransportFactory(const std::shared_ptr<Logger>& logger)
     : cp_(new pj_caching_pool(),
           [](pj_caching_pool* p) {
               pj_caching_pool_destroy(p);
               delete p;
           })
     , ice_cfg_()
+    , logger_(logger)
 {
     pj_caching_pool_init(cp_.get(), NULL, 0);
 
@@ -1826,7 +1827,7 @@ std::shared_ptr<IceTransport>
 IceTransportFactory::createTransport(std::string_view name)
 {
     try {
-        return std::make_shared<IceTransport>(name);
+        return std::make_shared<IceTransport>(name, logger_);
     } catch (const std::exception& e) {
         //JAMI_ERR("%s", e.what());
         return nullptr;
@@ -1837,7 +1838,7 @@ std::unique_ptr<IceTransport>
 IceTransportFactory::createUTransport(std::string_view name)
 {
     try {
-        return std::make_unique<IceTransport>(name);
+        return std::make_unique<IceTransport>(name, logger_);
     } catch (const std::exception& e) {
         //JAMI_ERR("%s", e.what());
         return nullptr;
diff --git a/tests/connectionManager.cpp b/tests/connectionManager.cpp
index ef843ef56b526fd195a5aa99f95098b8ea36e67e..a4e37593feb154cad18fd803e3c7c0ae4f7b480e 100644
--- a/tests/connectionManager.cpp
+++ b/tests/connectionManager.cpp
@@ -197,7 +197,7 @@ ConnectionManagerTest::setUp()
             //print the error;
         }
     });
-    factory = std::make_unique<IceTransportFactory>();
+    factory = std::make_unique<IceTransportFactory>(logger);
     alice = setupHandler("alice");
     bob = setupHandler("bob");
 }