diff --git a/rp_reporter/rp_reporter/batch_reporter.py b/rp_reporter/rp_reporter/batch_reporter.py
index 6dad778..45af68e 100755
--- a/rp_reporter/rp_reporter/batch_reporter.py
+++ b/rp_reporter/rp_reporter/batch_reporter.py
@@ -20,10 +20,24 @@
 from rp_reporter.report_from_xml import timestamp, Reporter
 
 from rp_reporter.settings import JENKINS_USER, JENKINS_PASSWORD
+from rp_reporter.settings import RP_LOGGING
 
 LOG = logging.getLogger("rp_reporter")
 
 
+def setup_logging(job: str | jj.Build):
+    if isinstance(job, str):
+        job = jj.Build(job)
+    if RP_LOGGING == 'DEBUG':
+        log_file_name = f'{job.name}-{job.number}.log'
+        log_file_path = Path(__file__).parent / log_file_name
+        LOG.warning(f"Logging {RP_LOGGING} level to file: {log_file_name}")
+        file_handler = logging.FileHandler(log_file_path, encoding='utf-8')
+        file_handler.setLevel(logging.DEBUG)
+        file_handler.setFormatter(logging.Formatter('%(asctime)s | %(levelname)s | %(message)s'))
+        logging.getLogger().addHandler(file_handler)
+
+
 def grep(text: List, patterns: List, context_size: int, blacklist: List[str] = None):
     """Works like `grep -rn`
     returns found text with line before and after
@@ -494,6 +508,7 @@
         k, v = tag.split(":", 1)
         tags_dict[k] = v
 
+    setup_logging(job=job_url)
     upload_job(job=job_url,
                tags=tags_dict,
                suite_per_job=True)
