diff --git a/profile_translator_blocklist/Policy.py b/profile_translator_blocklist/Policy.py
index 2d4a535f742da46f14434e3f0ec7db578d3fe267..c9b200ba3f49940bbaa65c689020ba96a47a3ef1 100644
--- a/profile_translator_blocklist/Policy.py
+++ b/profile_translator_blocklist/Policy.py
@@ -8,6 +8,11 @@ from .LogType import LogType
 # Protocol translators
 from .protocols.Protocol import Protocol
 from .protocols.ip import ip
+# Logging
+import importlib
+import logging
+module_relative_path = importlib.import_module(__name__).__name__
+logger = logging.getLogger(module_relative_path)
 
 
 class Policy:
@@ -73,7 +78,7 @@ class Policy:
                 profile_protocol = self.profile_data["protocols"][protocol_name]
                 protocol = Protocol.init_protocol(protocol_name, profile_protocol, self.device)
             except ModuleNotFoundError:
-                print(f"Protocol {protocol_name} not found.")
+                logger.warning(f"Protocol {protocol_name} not found.")
                 # Unsupported protocol, skip it
                 continue
             else:
diff --git a/profile_translator_blocklist/translator.py b/profile_translator_blocklist/translator.py
index 2b285029e50942ba5301336503a3b13eac33f0bb..5499764532f5039cc9552930ab4132f90d36a55f 100644
--- a/profile_translator_blocklist/translator.py
+++ b/profile_translator_blocklist/translator.py
@@ -18,9 +18,13 @@ from .Policy import Policy
 from .NFQueue import NFQueue
 from pyyaml_loaders import IncludeLoader
 
-
 # Package name
-package = importlib.import_module(__name__).__name__.rpartition(".")[0]
+module_relative_path = importlib.import_module(__name__).__name__
+package = module_relative_path.rpartition(".")[0]
+
+# Logging
+import logging
+logger = logging.getLogger(module_relative_path)
 
 
 ##### FUNCTIONS #####
@@ -125,7 +129,7 @@ def validate_args(
     try:
         output_dir = directory(output_dir)
     except ValueError:
-        print(f"Output directory {output_dir} does not exist. Using current directory.")
+        logger.warning(f"Output directory {output_dir} does not exist. Using current directory.")
         output_dir = os.getcwd()
     args["output_dir"] = output_dir
 
@@ -461,4 +465,4 @@ def translate_profile(
 
     write_firewall(device, global_accs, nfqueue_name, output_dir, drop_proba, log_type, log_group, test)
 
-    print(f"Done translating {profile_path}.")
+    logger.info(f"Done translating {profile_path}.")