feat(debug): add JSONL debug logging to decryption, muxing, and all downloaders

Expand debug logging coverage for better diagnostics when investigating download/decryption issues like QUICKTIME/cbcs problem.
This commit is contained in:
Andy
2026-02-17 13:58:36 -07:00
parent 0217086abf
commit cc89f4ca93
7 changed files with 241 additions and 7 deletions

View File

@@ -441,6 +441,37 @@ def download(
yield dict(downloaded=f"{filesize.decimal(dl_speed)}/s")
time.sleep(1)
if debug_logger:
output_files = []
output_total_size = 0
if output_dir.exists():
try:
for f in sorted(output_dir.iterdir()):
if f.is_file():
fsize = f.stat().st_size
output_files.append(f.name)
output_total_size += fsize
except OSError:
output_files = ["<error listing files>"]
debug_logger.log(
level="DEBUG",
operation="downloader_aria2c_complete",
message="Aria2c download completed successfully",
context={
"url_count": len(urls),
"gid_count": len(gids),
"completed_count": len(completed),
"output_dir": str(output_dir),
"output_dir_exists": output_dir.exists(),
"output_files_count": len(output_files),
"output_files": output_files[:10],
"output_total_size": output_total_size,
"filename": filename,
},
)
except KeyboardInterrupt:
DOWNLOAD_CANCELLED.set()
raise