From 163d087c5a451556dc5e4a418a3e025e7936de50 Mon Sep 17 00:00:00 2001 From: PankajJaisu Date: Sat, 6 Sep 2025 23:17:56 +0530 Subject: [PATCH 1/2] fix: standardize logger names in core modules (phase 1) --- examples/pubsub/pubsub.py | 2 +- libp2p/host/basic_host.py | 2 +- libp2p/network/swarm.py | 3 +-- libp2p/pubsub/floodsub.py | 3 +-- libp2p/pubsub/gossipsub.py | 2 +- libp2p/pubsub/validators.py | 2 +- libp2p/transport/tcp/tcp.py | 3 +-- 7 files changed, 7 insertions(+), 10 deletions(-) diff --git a/examples/pubsub/pubsub.py b/examples/pubsub/pubsub.py index 41545658d..8689b5a50 100644 --- a/examples/pubsub/pubsub.py +++ b/examples/pubsub/pubsub.py @@ -39,7 +39,7 @@ level=logging.INFO, # Set default to DEBUG for more verbose output format="%(asctime)s - %(name)s - %(levelname)s - %(message)s", ) -logger = logging.getLogger("pubsub-demo") +logger = logging.getLogger(__name__) CHAT_TOPIC = "pubsub-chat" GOSSIPSUB_PROTOCOL_ID = TProtocol("/meshsub/1.0.0") diff --git a/libp2p/host/basic_host.py b/libp2p/host/basic_host.py index e370a3de1..8752e607f 100644 --- a/libp2p/host/basic_host.py +++ b/libp2p/host/basic_host.py @@ -72,7 +72,7 @@ # telling it to listen on the given listen addresses. -logger = logging.getLogger("libp2p.network.basic_host") +logger = logging.getLogger(__name__) DEFAULT_NEGOTIATE_TIMEOUT = 5 diff --git a/libp2p/network/swarm.py b/libp2p/network/swarm.py index 5a3ce7bbb..61fc1486e 100644 --- a/libp2p/network/swarm.py +++ b/libp2p/network/swarm.py @@ -58,8 +58,7 @@ SwarmException, ) -logger = logging.getLogger("libp2p.network.swarm") - +logger = logging.getLogger(__name__) @dataclass class RetryConfig: diff --git a/libp2p/pubsub/floodsub.py b/libp2p/pubsub/floodsub.py index 8167581d2..42ad5e1c7 100644 --- a/libp2p/pubsub/floodsub.py +++ b/libp2p/pubsub/floodsub.py @@ -29,8 +29,7 @@ PROTOCOL_ID = TProtocol("/floodsub/1.0.0") -logger = logging.getLogger("libp2p.pubsub.floodsub") - +logger = logging.getLogger(__name__) class FloodSub(IPubsubRouter): protocols: list[TProtocol] diff --git a/libp2p/pubsub/gossipsub.py b/libp2p/pubsub/gossipsub.py index a4c8c463e..140eb59ca 100644 --- a/libp2p/pubsub/gossipsub.py +++ b/libp2p/pubsub/gossipsub.py @@ -60,7 +60,7 @@ PROTOCOL_ID = TProtocol("/meshsub/1.0.0") PROTOCOL_ID_V11 = TProtocol("/meshsub/1.1.0") -logger = logging.getLogger("libp2p.pubsub.gossipsub") +logger = logging.getLogger(__name__) class GossipSub(IPubsubRouter, Service): diff --git a/libp2p/pubsub/validators.py b/libp2p/pubsub/validators.py index 21c7e9c84..472cc37cc 100644 --- a/libp2p/pubsub/validators.py +++ b/libp2p/pubsub/validators.py @@ -11,7 +11,7 @@ rpc_pb2, ) -logger = logging.getLogger("libp2p.pubsub") +logger = logging.getLogger(__name__) PUBSUB_SIGNING_PREFIX = "libp2p-pubsub:" diff --git a/libp2p/transport/tcp/tcp.py b/libp2p/transport/tcp/tcp.py index 1598ea42a..a866a068d 100644 --- a/libp2p/transport/tcp/tcp.py +++ b/libp2p/transport/tcp/tcp.py @@ -31,8 +31,7 @@ OpenConnectionError, ) -logger = logging.getLogger("libp2p.transport.tcp") - +logger = logging.getLogger(__name__) class TCPListener(IListener): listeners: list[trio.SocketListener] From 3de73855943cf0007ca3d1d3f25d614bdc913bee Mon Sep 17 00:00:00 2001 From: PankajJaisu Date: Sun, 7 Sep 2025 23:53:38 +0530 Subject: [PATCH 2/2] added test cases for Logging issue(phase1) --- tests/core/test_libp2p/test_logger_names.py | 52 +++++++++++++++++++++ 1 file changed, 52 insertions(+) create mode 100644 tests/core/test_libp2p/test_logger_names.py diff --git a/tests/core/test_libp2p/test_logger_names.py b/tests/core/test_libp2p/test_logger_names.py new file mode 100644 index 000000000..dce7be694 --- /dev/null +++ b/tests/core/test_libp2p/test_logger_names.py @@ -0,0 +1,52 @@ +import logging +from libp2p.network import swarm +from libp2p.pubsub import gossipsub + + +def test_logger_names(): + """Test that logger names use __name__ correctly.""" + assert swarm.logger.name == "libp2p.network.swarm" + assert gossipsub.logger.name == "libp2p.pubsub.gossipsub" + + +def test_loggers_exist_and_callable(): + """Test that loggers exist and can be called without errors.""" + # Test that loggers are Logger instances + assert isinstance(swarm.logger, logging.Logger) + assert isinstance(gossipsub.logger, logging.Logger) + + assert hasattr(swarm.logger, 'debug') + assert hasattr(swarm.logger, 'info') + assert hasattr(swarm.logger, 'warning') + assert hasattr(swarm.logger, 'error') + + assert callable(swarm.logger.debug) + assert callable(swarm.logger.info) + + + try: + swarm.logger.info("Test info message") + gossipsub.logger.info("Test gossipsub message") + assert True + except Exception as e: + assert False, f"Logger calls failed with exception: {e}" + + +def manual_logger_verification(): + """Run this manually to verify loggers work with LIBP2P_DEBUG.""" + print("=== Manual Logger Verification ===") + print(f"Swarm logger name: {swarm.logger.name}") + print(f"GossipSub logger name: {gossipsub.logger.name}") + + print("\nTesting different log levels:") + swarm.logger.debug("This is a debug message from swarm") + swarm.logger.info("This is an info message from swarm") + gossipsub.logger.debug("This is a debug message from gossipsub") + gossipsub.logger.info("This is an info message from gossipsub") + + print("\nTo test LIBP2P_DEBUG functionality, run:") + print("LIBP2P_DEBUG=network:DEBUG python -c 'from tests.core.test_libp2p.test_logger_names import manual_logger_verification; manual_logger_verification()'") + + +if __name__ == "__main__": + manual_logger_verification() \ No newline at end of file