feat: hide log diagnose & backtrace in for joj3

This commit is contained in:
张泊明518370910136 2024-10-01 16:35:01 -04:00
parent 35f1fa37f3
commit 2116cfa997
GPG Key ID: CA088E6D9284F870
2 changed files with 16 additions and 3 deletions

View File

@ -9,7 +9,7 @@ from typer import Argument, Option, Typer, echo
from joint_teapot.config import Settings, set_settings, settings
from joint_teapot.teapot import Teapot
from joint_teapot.utils import joj3
from joint_teapot.utils.logger import logger
from joint_teapot.utils.logger import logger, set_logger
app = Typer(add_completion=False)
@ -224,6 +224,7 @@ def joj3_scoreboard(
),
) -> None:
set_settings(Settings(_env_file=env_path))
set_logger(settings.stderr_log_level, diagnose=False, backtrace=False)
if joj3.check_skipped(score_file_path, "skip-scoreboard"):
return
repo_path = tea.pot.git.repo_clean_and_checkout(repo_name, "grading")
@ -273,6 +274,7 @@ def joj3_failed_table(
),
) -> None:
set_settings(Settings(_env_file=env_path))
set_logger(settings.stderr_log_level, diagnose=False, backtrace=False)
if joj3.check_skipped(score_file_path, "skip-failed-table"):
return
repo_path = tea.pot.git.repo_clean_and_checkout(repo_name, "grading")
@ -328,6 +330,7 @@ def joj3_create_result_issue(
),
) -> None:
set_settings(Settings(_env_file=env_path))
set_logger(settings.stderr_log_level, diagnose=False, backtrace=False)
if joj3.check_skipped(score_file_path, "skip-result-issue"):
return
action_link = (

View File

@ -29,10 +29,20 @@ class InterceptHandler(logging.Handler):
)
def set_logger(stderr_log_level: str = settings.stderr_log_level) -> None:
def set_logger(
stderr_log_level: str = settings.stderr_log_level,
*,
diagnose: bool = True,
backtrace: bool = True,
) -> None:
logging.basicConfig(handlers=[InterceptHandler()], level=0, force=True)
logger.remove()
logger.add(stderr, level=stderr_log_level)
logger.add(
stderr,
level=stderr_log_level,
diagnose=diagnose,
backtrace=backtrace,
)
logger.add(settings.log_file_path, level="DEBUG")