diff --git a/pcap_anonymize/app_layer/__init__.py b/pcap_anonymize/app_layer/__init__.py
index 667ee0f15abb7cce1af2a2c303edf0e9b27fa59e..3bb84fd4fb3abdade82b6b9a84d4b7fd23aed8fd 100644
--- a/pcap_anonymize/app_layer/__init__.py
+++ b/pcap_anonymize/app_layer/__init__.py
@@ -37,5 +37,5 @@ def anonymize_app_layer(packet: Packet) -> None:
         dport = tcp.getfieldval("dport")
         if sport == 9999 or dport == 9999:
             anonymize_tplink(tcp)
-    except:
+    except AttributeError:
         pass
diff --git a/pcap_anonymize/app_layer/http.py b/pcap_anonymize/app_layer/http.py
index 7a418c3043c955326e4ebf02c2294622f89cd269..cb4babc22b654d73c81b95aa662488caa90c80fc 100644
--- a/pcap_anonymize/app_layer/http.py
+++ b/pcap_anonymize/app_layer/http.py
@@ -3,11 +3,14 @@ Anonymize HTTP packets.
 """
 
 from enum import Enum
+import logging
 from scapy.all import Packet, Raw
 from scapy.layers.http import HTTP, HTTPRequest, HTTPResponse
 
 
 ENCODING = "utf-8"
+logger = logging.getLogger("pcap_anonymize")
+
 
 class HttpFields(Enum):
     """
@@ -72,6 +75,11 @@ def anonymize_http(http: HTTP) -> None:
         http.setfieldval(HttpFields.PATH.value, path.split("?")[0].encode(ENCODING))
     except AttributeError:
         # HTTP packet does not contain the `Path` field
+        logger.warning(f"Field {HttpFields.PATH.value} not found in HTTP layer {http.summary()}")
+        pass
+    except UnicodeDecodeError:
+        # `Path` field is not encoded in UTF-8
+        logger.warning(f"Field {HttpFields.PATH.value} not UTF-8 encoded in HTTP layer {http.summary()}")
         pass
 
     # Remove all fields other than Method and Path
diff --git a/pcap_anonymize/pcap_anonymize.py b/pcap_anonymize/pcap_anonymize.py
index 571fdf489cda5461e32906a4aa0412c39749a30a..b88edf80a649c96d343baf38cc399a27f455591f 100644
--- a/pcap_anonymize/pcap_anonymize.py
+++ b/pcap_anonymize/pcap_anonymize.py
@@ -5,6 +5,7 @@ Anonymize all packets in a PCAP file.
 import os
 import glob
 from pathlib import Path
+import logging
 from scapy.all import Packet, sniff, wrpcap
 # Packet layers
 from .mac import anonymize_pkt_macs
@@ -13,8 +14,12 @@ from .app_layer import anonymize_app_layer
 
 ### GLOBAL VARIABLES ###
 
+i = 1
 packets = []
 
+# Logging configuration
+logger = logging.getLogger("pcap_anonymize")
+
 
 ### FUNCTIONS ###
 
@@ -49,7 +54,9 @@ def anonymize_packet(packet: Packet) -> None:
     Args:
         packet: scapy packet to anonymize
     """
-    global packets
+    global i, packets
+
+    logger.debug(f"Packet #{i}: {packet.summary()}")
 
     # Anonymize MAC addresses
     anonymize_pkt_macs(packet)
@@ -61,6 +68,7 @@ def anonymize_packet(packet: Packet) -> None:
     packet = rebuild_packet(packet)
 
     packets.append(packet)
+    i += 1
 
 
 def anonymize_pcap(input: os.PathLike, output: os.PathLike = None) -> None:
@@ -72,7 +80,7 @@ def anonymize_pcap(input: os.PathLike, output: os.PathLike = None) -> None:
         output: path to the output PCAP file.
                 If None, create a new file having the same name as the input file with the suffix '.anon.pcap'.
     """
-    global packets
+    global i, packets
 
     if output is None:
         output = str(Path(input).with_suffix(".anon.pcap"))
@@ -83,7 +91,8 @@ def anonymize_pcap(input: os.PathLike, output: os.PathLike = None) -> None:
     # Write anonymized packets to the output file
     wrpcap(output, packets)
 
-    # Reset global packets list
+    # Reset global variables
+    i = 1
     packets = []