unsloth/studio/backend/utils
Daniel Han 63ad2cd38f Studio: trim log noise (scanner probes, library chatter, load narration) with a --verbose escape hatch
Default-level logs accumulated low-signal lines: uvicorn 'Invalid HTTP request
received' from port scanners, per-probe request_completed access lines for
CONNECT / absolute-form / non-standard methods, third-party library INFO (httpx
'HTTP Request: ... 200 OK', HF/transformers banners), and repeated model-load
narration. None of it helps operate Studio, and it buries real warnings/errors.

Changes (all backwards-compatible; --verbose or LOG_LEVEL=DEBUG restores everything):
- loggers/config.py: logs_verbose() helper; raise noisy third-party loggers to
  WARNING and captureWarnings(True) unless verbose. Errors still surface.
- run.py: --verbose/-v flag (sets UNSLOTH_STUDIO_VERBOSE + LOG_LEVEL=DEBUG);
  uvicorn drop-filter for h11 'Invalid HTTP request' scanner warnings.
- loggers/handlers.py: LoggingMiddleware skips scanner/proxy probes
  (non-standard method or absolute-form target); a normal GET/POST 404 still logs.
- llama_cpp.py: only mirror llama-server output line-by-line to the logger when
  verbose (the full output is always tee'd to the per-server log file); demote
  GGUF metadata descriptors to debug.
- Demote repetitive load narration to debug: execute_tool per-call, Top GGUF/hub
  model lists, 'Loaded default model defaults', per-message tokenizer dump.
- tests/test_log_noise_filters.py: scanner skip + real-404 kept, verbose round
  trip, uvicorn drop-filter, library quieting.

Throughput logging is unchanged: the periodic vLLM-style engine_stats line
(configurable via UNSLOTH_STUDIO_ENGINE_STATS_INTERVAL_S, idle-skipping) stays.
2026-06-27 07:47:29 +00:00
..
datasets Add Hugging Face dataset streaming mode to Studio (#4946) 2026-06-22 17:48:18 +03:00
hardware Studio: fix tier detection for models loaded via custom folder path (#6396) 2026-06-22 05:40:39 -07:00
inference Reduce and tighten code comments and docstrings repo-wide (#6095) 2026-06-08 23:09:51 -07:00
models Studio: trim log noise (scanner probes, library chatter, load narration) with a --verbose escape hatch 2026-06-27 07:47:29 +00:00
paths Studio: honor custom HF_HOME for model download and load (#6510) 2026-06-22 08:21:59 -07:00
security Studio: persistent per-user trust_remote_code approval cache (#6551) 2026-06-22 05:12:49 -07:00
.gitkeep root studio folder 2026-02-02 09:13:49 +00:00
__init__.py Final cleanup 2026-03-12 18:28:04 +00:00
_studio_release_build.py Add Studio web update banner and release version display (#5308) 2026-05-11 18:24:01 +04:00
api_errors.py Studio: shareable per-checkpoint preview links (#6486) 2026-06-24 06:31:53 -07:00
cache_cleanup.py Reduce and tighten code comments and docstrings repo-wide (#6095) 2026-06-08 23:09:51 -07:00
client_ip.py Studio: require signed capability tokens for /p preview links (#6666) 2026-06-25 21:40:48 -07:00
cpu_threads.py Reduce and tighten code comments and docstrings repo-wide (#6095) 2026-06-08 23:09:51 -07:00
downsample.py Formatting: ruff line-length 100, kwarg-spacing passes, drop blank after short local imports (#6079) 2026-06-08 04:24:13 -07:00
helper_precache_settings.py Studio: make Helper LLM startup pre-cache opt in (#6113) 2026-06-09 15:28:34 +02:00
hf_xet_fallback.py Reap Studio child processes when the parent dies abnormally (#6425) 2026-06-18 05:51:22 -07:00
host_policy.py Studio: allow --secure with --api-only (headless secure API server) and add --api-only to unsloth studio run (#6591) 2026-06-23 05:44:56 -07:00
lifespan_shutdown.py Studio: make lifespan shutdown resilient to a dead default executor (#6307) 2026-06-15 22:51:46 -07:00
llama_cpp_freshness.py Studio: stop the llama.cpp update banner flickering and show the download size (#6338) 2026-06-17 21:28:54 -07:00
llama_cpp_update.py Tighten comments for PR #6493 (#6539) 2026-06-21 05:49:07 -07:00
mlx_repair.py Make _uv_safe_path space-safe on macOS/Linux (#6503) (#6534) 2026-06-24 04:02:24 -07:00
native_path_leases.py Reap Studio child processes when the parent dies abnormally (#6425) 2026-06-18 05:51:22 -07:00
node_runtime.py Studio: use an isolated Node.js for the frontend build instead of replacing the system Node/npm (#6533) 2026-06-21 21:17:29 -07:00
personalization_settings.py studio: persist personalization (profile, avatar, theme) server-side (#6516) 2026-06-22 04:09:48 -07:00
preview_rate_limit.py Studio: require signed capability tokens for /p preview links (#6666) 2026-06-25 21:40:48 -07:00
preview_sharing_settings.py Studio: require signed capability tokens for /p preview links (#6666) 2026-06-25 21:40:48 -07:00
preview_token.py Studio: require signed capability tokens for /p preview links (#6666) 2026-06-25 21:40:48 -07:00
process_lifetime.py Reap Studio child processes when the parent dies abnormally (#6425) 2026-06-18 05:51:22 -07:00
ssm_runtime.py Auto-install SSM kernels (causal-conv1d, mamba-ssm) for inference loads (#6535) 2026-06-22 04:48:29 -07:00
studio_version.py Studio: llama.cpp update banner redesign, About tab license info, UI polish (#6196) 2026-06-11 09:27:34 -07:00
subprocess_compat.py Reduce and tighten code comments and docstrings repo-wide (#6095) 2026-06-08 23:09:51 -07:00
transformers_version.py Fix offline checkpoint load/export: "tokenizer is weirdly not loaded" (#6554) 2026-06-25 23:16:53 -07:00
update_status.py Studio: make code comments and docstrings more succinct (#6029) 2026-06-08 23:07:28 -07:00
upload_limits.py Formatting: ruff line-length 100, kwarg-spacing passes, drop blank after short local imports (#6079) 2026-06-08 04:24:13 -07:00
utils.py Reduce and tighten code comments and docstrings repo-wide (#6095) 2026-06-08 23:09:51 -07:00
uv_path_safety.py Make _uv_safe_path space-safe on macOS/Linux (#6503) (#6534) 2026-06-24 04:02:24 -07:00
wheel_utils.py Reduce and tighten code comments and docstrings repo-wide (#6095) 2026-06-08 23:09:51 -07:00