# Where does Snakemake send output that's generated by shell commands?

I'm wondering how Snakemake deals with output to stdout and stderr that is generated when running a rule with a shell: command.

I ran the following rule and only got informed that there was a non-zero exit code. However, I did not get a stack trace. To get access to the stack trace I had to run the shell command manually:

# Shortened for clarity
rule parse:
input:
output:
sequences = "data/sequences.fasta"
shell:
"""
augur parse
"""


Why is that? And can I somehow make Snakemake output more detailed information when something goes wrong to help with debugging?

You usually define a log file like below, and redirect the stdout and/or stderr to it. Stdout is >, stderr is 2> and both of them combined is &>.

rule parse:
input: