diff --git a/NEWS.rst b/NEWS.rst
index 80c8f8a25f42469332f01ed5794c7219188c0830_TkVXUy5yc3Q=..cbb341206b06e732a1c4252ecaf4326fc8e1f65c_TkVXUy5yc3Q= 100644
--- a/NEWS.rst
+++ b/NEWS.rst
@@ -9,6 +9,8 @@
 
 Fix missing PyYAML dependency.
 
+
+Colored logs.
 4.1
 ---
 
diff --git a/odoo_scripts/parsing.py b/odoo_scripts/parsing.py
index 80c8f8a25f42469332f01ed5794c7219188c0830_b2Rvb19zY3JpcHRzL3BhcnNpbmcucHk=..cbb341206b06e732a1c4252ecaf4326fc8e1f65c_b2Rvb19zY3JpcHRzL3BhcnNpbmcucHk= 100644
--- a/odoo_scripts/parsing.py
+++ b/odoo_scripts/parsing.py
@@ -4,6 +4,8 @@
 import logging
 from typing import Optional
 
+import coloredlogs
+
 
 def add_verbosity_to_parser(parser: argparse.ArgumentParser):
     parser.add_argument(
@@ -23,9 +25,8 @@
         level = logging.INFO
     else:
         level = logging.DEBUG
-    logging.basicConfig(
-        level=level,
-        format="%(asctime)s %(levelname)8s [%(lineno)3d]: %(message)s",
+    coloredlogs.install(
+        level, fmt="%(asctime)s %(levelname)8s %(name)s %(message)s"
     )
 
 
diff --git a/requirements b/requirements
index 80c8f8a25f42469332f01ed5794c7219188c0830_cmVxdWlyZW1lbnRz..cbb341206b06e732a1c4252ecaf4326fc8e1f65c_cmVxdWlyZW1lbnRz 100644
--- a/requirements
+++ b/requirements
@@ -3,6 +3,7 @@
 requests_toolbelt==0.8.0
 python-dateutil>=2.7.0
 PyYAML
+coloredlogs
 docker
 psycopg2
 mercurial >=5.2
diff --git a/setup.py b/setup.py
index 80c8f8a25f42469332f01ed5794c7219188c0830_c2V0dXAucHk=..cbb341206b06e732a1c4252ecaf4326fc8e1f65c_c2V0dXAucHk= 100644
--- a/setup.py
+++ b/setup.py
@@ -15,6 +15,7 @@
         "odoorpc==0.7.0",
         "requests_toolbelt==0.8.0",
         "python-dateutil>=2.7.0",
+        "coloredlogs",
         "PyYAML",
     ],
     extras_require={