ethagnawl/rmuxinator

Add debug Command

Closed this issue · 3 comments

This feature will output the list of commands that rmuxinator is generating from their project config file and sending to their shell/tmux. The output is intended to help users make sense of unexpected behavior and aid in bug reports.

Depends on #19.

You might have already started work on this, but I was just wondering about the implementation. It could be done by adding logging behind a verbosity flag, as well as adding the ability to do a dry run where you show the commands that would be run without running them. Adding in logging would be a nice feature to have anyways, but my thinking is that this effect could be achieved by running rmuxinator -vvv start --dry-run Example.toml

I was figuring it'd be a dry run. It'd behave similarly to start but would print the generated commands instead of executing them. I was also thinking it'd be its own command in order to track tmuxinator's API. I'm not sure how much of a guiding principle that should be going forward, though. I do like the --dry-run flag, though. I'll think on it.

That's an interesting thought about logging, though. I'll have to think on that, too.

Just to give you a bit more to chew through the main logging crates ive seen used are stderrlog, env_logger, and pretty_env_logger although there are many more. Because this will be directly user facing stderrlog and pretty_env_logger are probably the better choice just because they look nicer. Also all of these crates rely on the log crate afaik so as long as crates rely on the log crate you can normally pull in logging information from them too. It probably doesn't matter as much for this program since theres not much to dig into from the our dependencies, but it really helped debugging when I've dealt with more complex crates like warp.