Skip to content

Commit 08cbe3d

Browse files
yokosznclaude
andcommitted
feat: Add --verbose and --debug CLI flags
- Add -v/--verbose flag (stackable: -v, -vv, -vvv) for increasing log verbosity - Add --debug flag as shortcut for maximum verbosity (-vvv) - Logs output to both stderr and strix_runs/{run_name}/debug.log when verbosity > 0 - At -vvv/--debug, enables litellm verbose mode for LLM debugging 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <[email protected]>
1 parent 9825fb4 commit 08cbe3d

File tree

1 file changed

+31
-0
lines changed

1 file changed

+31
-0
lines changed

strix/interface/main.py

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -313,6 +313,19 @@ def parse_arguments() -> argparse.Namespace:
313313
),
314314
)
315315

316+
parser.add_argument(
317+
"-v",
318+
"--verbose",
319+
action="count",
320+
default=0,
321+
help="Increase verbosity (-v: WARNING, -vv: INFO, -vvv: DEBUG + litellm).",
322+
)
323+
parser.add_argument(
324+
"--debug",
325+
action="store_true",
326+
help="Enable full debug output (equivalent to -vvv).",
327+
)
328+
316329
args = parser.parse_args()
317330

318331
if args.instruction:
@@ -473,6 +486,24 @@ def main() -> None:
473486
if not args.run_name:
474487
args.run_name = generate_run_name(args.targets_info)
475488

489+
# Configure logging based on verbosity
490+
verbosity = 3 if args.debug else args.verbose
491+
log_level = [logging.ERROR, logging.WARNING, logging.INFO, logging.DEBUG][min(verbosity, 3)]
492+
logging.basicConfig(
493+
level=log_level,
494+
format="%(asctime)s %(name)s %(levelname)s %(message)s",
495+
handlers=[logging.StreamHandler()],
496+
)
497+
if verbosity > 0:
498+
log_dir = Path("strix_runs") / args.run_name
499+
log_dir.mkdir(parents=True, exist_ok=True)
500+
fh = logging.FileHandler(log_dir / "debug.log")
501+
fh.setLevel(log_level)
502+
fh.setFormatter(logging.Formatter("%(asctime)s %(name)s %(levelname)s %(message)s"))
503+
logging.getLogger().addHandler(fh)
504+
if verbosity >= 3:
505+
litellm.set_verbose = True
506+
476507
for target_info in args.targets_info:
477508
if target_info["type"] == "repository":
478509
repo_url = target_info["details"]["target_repo"]

0 commit comments

Comments
 (0)