Fazil Topal
02/14/2026, 11:30 AMMarvin
02/14/2026, 11:30 AMMarvin
02/14/2026, 11:32 AMPREFECT_LOGGING_LEVEL=WARNING PREFECT_LOGGING_INTERNAL_LEVEL=WARNING PREFECT_SERVER_LOGGING_LEVEL=WARNING PREFECT_LOGGING_TO_API_ENABLED=False PREFECT_LOG_PRINTS=False pytest -q
Recommended: make it automatic for all tests (conftest.py)
# tests/conftest.py
import pytest
from prefect.settings import (
temporary_settings,
PREFECT_LOGGING_LEVEL,
PREFECT_LOGGING_INTERNAL_LEVEL,
PREFECT_SERVER_LOGGING_LEVEL,
PREFECT_LOGGING_TO_API_ENABLED,
)
@pytest.fixture(scope="session", autouse=True)
def quiet_prefect_logs():
with temporary_settings({
PREFECT_LOGGING_LEVEL: "WARNING", # or "ERROR"/"CRITICAL"
PREFECT_LOGGING_INTERNAL_LEVEL: "WARNING", # internal machinery
PREFECT_SERVER_LOGGING_LEVEL: "WARNING", # server components, if used
PREFECT_LOGGING_TO_API_ENABLED: False, # don’t ship logs to API in tests
}):
yield
If you prefer pytest.ini (requires pytest-env)
[pytest]
env =
PREFECT_LOGGING_LEVEL=WARNING
PREFECT_LOGGING_INTERNAL_LEVEL=WARNING
PREFECT_SERVER_LOGGING_LEVEL=WARNING
PREFECT_LOGGING_TO_API_ENABLED=False
PREFECT_LOG_PRINTS=False
Per-test “make it silent” fixture
@pytest.fixture
def silent_prefect(monkeypatch):
monkeypatch.setenv("PREFECT_LOGGING_LEVEL", "CRITICAL")
monkeypatch.setenv("PREFECT_LOGGING_INTERNAL_LEVEL", "CRITICAL")
yield
Want me to tailor this to your setup? Are you using pytest, and do you want to suppress all logs or just Prefect’s?