Skip to content

Log restructure - #31

Merged
DonFreed merged 3 commits into
devfrom
log-restructure
Aug 14, 2026
Merged

Log restructure#31
DonFreed merged 3 commits into
devfrom
log-restructure

Conversation

@DonFreed

Copy link
Copy Markdown
Contributor

No description provided.

DonFreed and others added 3 commits August 13, 2026 16:54
Move logging handlers to the package logger so verbosity is enforced
per handler: the console follows -v/-d (default now INFO) while a new
run.log always records DEBUG, both with timestamps. A new --log_dir
argument (default: the output VCF with .vcf.gz replaced by _logs)
holds run.log, a command.txt invocation record, and a task_logs/
directory for upcoming per-process tool logs. Runs now finish with a
status/elapsed-time message, emitted from a finally so it also lands
on failure paths.

Co-Authored-By: Claude Fable 5 <[email protected]>
Job now requires a keyword-only task_name grouping jobs by pipeline
stage, and assigns each job a job_id ({name}-{n}) from per-name
counters that reset once per CLI invocation, so ids stay unique across
multi-DAG runs. Jobs report themselves by job_id in scheduler and
error messages. These fields feed the upcoming per-process task logs;
neither is part of job identity, which stays keyed on the shell
pipeline alone.

Co-Authored-By: Claude Fable 5 <[email protected]>
Each job gets a JobLogSink on its execution Context, so every process
it spawns -- including process substitutions, which previously
bypassed stderr redirection entirely -- writes stderr to its own
task_logs/{task}/{job_id}.{stage}.log file, beginning with a header
recording the task, job, and command. Stdout is captured alongside
(headerless, sharing the process's stage index when it would
otherwise reach the terminal. Both streams of one process share a
stage index, allocated in spawn order.

On failure, the run log now reports the failing sub-command with its
exit code, pid, log path, and the last 20 lines of its log, plus a
pointer to the task-log directory; interrupted and launch-failed jobs
list their logs. Successful jobs prune logs that hold nothing but a
header.

Co-Authored-By: Claude Fable 5 <[email protected]>
EOF
)
@DonFreed
DonFreed merged commit 7a89cd4 into dev Aug 14, 2026
12 checks passed
@DonFreed
DonFreed deleted the log-restructure branch August 14, 2026 17:20
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant