From a22776a96cb03e4ed9078914ba651ab66a041402 Mon Sep 17 00:00:00 2001 From: Karma Riuk Date: Mon, 10 Mar 2025 11:29:09 +0100 Subject: [PATCH] fixed the stdout and file logging issue --- stats_pull_requests.py | 27 +++++++++++++++------------ 1 file changed, 15 insertions(+), 12 deletions(-) diff --git a/stats_pull_requests.py b/stats_pull_requests.py index ddc5598..1ab90a4 100644 --- a/stats_pull_requests.py +++ b/stats_pull_requests.py @@ -4,21 +4,22 @@ import pandas as pd import tqdm from github import Github -# Set up logging -log_file = "github_api.log" -logging.basicConfig( - filename=log_file, - level=logging.WARNING, # Adjust as needed - format="%(asctime)s - %(levelname)s - %(message)s", - datefmt="%Y-%m-%d %H:%M:%S" -) - -# Redirect PyGithub logging -logging.getLogger("github.Requester").setLevel(logging.WARNING) - # Initialize GitHub API client g = Github(os.environ["GITHUB_AUTH_TOKEN_CRAB"]) +def move_github_logging_to_file(): + github_logger = logging.getLogger("github") + + # Remove existing handlers to prevent duplicate logging + for handler in github_logger.handlers[:]: + github_logger.removeHandler(handler) + + file_handler = logging.FileHandler("github_api.log") # Log to file + formatter = logging.Formatter("%(asctime)s - %(levelname)s - %(message)s") + file_handler.setFormatter(formatter) + github_logger.addHandler(file_handler) + github_logger.propagate = False # Prevent logging to standard output + def parse_date(date: str) -> datetime: return datetime.strptime(date, "%Y-%m-%dT%H:%M:%SZ") @@ -96,6 +97,8 @@ def process_repo(repo_name): return stats def main(): + move_github_logging_to_file() + repos = pd.read_csv("results.csv") repos = repos[(repos["good_repo_for_crab"] == True) & (repos["n_tests"] > 0)] stats = []