Enable logging to separate files
Related_prod: PRODX-54566
Change-Id: I1013cdf3e6e274efe09877fb448b5f4bc63d328c
Change-Id: Ia5c568c8afa5a7de28e316e0950369564ec116c3
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)