如何移除R语言targets包中tar_make()的进度条
移除targets包tar_make()的进度条以精简日志
针对你遇到的tar_make()进度条导致日志冗余的问题,有两种直接有效的解决方式:
方法1:调用tar_make()时直接关闭进度条
在调用tar_make()时添加progress = FALSE参数,即可禁用进度条输出:
tar_make(progress = FALSE)
方法2:全局禁用进度条
如果需要在整个项目会话中都关闭进度条,可在脚本开头通过tar_options_set()进行全局配置:
tar_options_set(progress = FALSE) # 后续调用tar_make()均不会显示进度条 tar_make()
适配你的脚本示例
你可以将全局配置加入到现有脚本中,修改后的代码如下:
con <- file("C:/RTaskSchedules/health_monitor.log") sink(con, append=TRUE) sink(con, append=TRUE, type="message") main_path <- "path/to/script" setwd(main_path) # 全局禁用targets进度条 tar_options_set(progress = FALSE) source(paste0(main_path,"/main.R"), echo = FALSE, max.deparse.length = 10000, local = TRUE) sink() sink(type="message")
或者直接修改main.R中调用tar_make()的代码,替换为tar_make(progress = FALSE),同样能达到效果。
处理后日志将只保留任务调度、完成状态等关键信息,不会再出现重复的进度条内容。
内容的提问来源于stack exchange,提问作者jvlandingin
相关产品推荐
相关产品推荐

