我试图将Snakemake自己的控制台输出(* 不是 * 单个作业生成的日志)保存到任意文件中,同时仍将其写入stdout/stderr。(不幸的是,我的设置意味着我不能只使用tee
。
在我看来,Snakemake应该提供该功能,因为它将日志输出保存到默认位置。然而,在查看文档时,我找不到一个参数来轻松更改日志的输出位置。从the code of snakemake.logging
中,我得到的印象是日志文件的父目录可能是硬编码的,文件只是得到了一个时间戳的名称。
有没有一些显而易见的方法来配置我忽略的Snakemake日志的文件?
2条答案
按热度按时间kognpnkq1#
文件名/路径在
setup_logfile
中硬编码。这是一个技巧,但有一个选择是使用
onsuccess
/onerror
将日志文件复制到所需的位置(注意,没有oncompletion
,所以日志复制可能适用于这两种情况):ndh0cuux2#
作为一种变通方法,似乎可以将位于其他地方的目录符号链接到正在运行Snakemake的目录(前提是它仍然被称为
.snakemake/
),并且应该可以工作。通过这种方式,您可以将日志文件存储在其他地方,但Snakemake也将能够在正确的位置查找所有日志等。