【发布时间】:2016-12-14 04:16:02
【问题描述】:
我想将foreach 包与日志记录结合使用。我通常使用futile.logger 包。当工作分配给工作人员时,日志信息丢失(这很奇怪,因为您需要指出 foreach 日志包)
我见过this post,但它不使用foreach
library(foreach)
library(futile.logger)
library(doParallel)
flog.threshold(DEBUG)
cluster <- makeCluster(8)
registerDoParallel(cluster)
doStuff <- function(input){
flog.debug('Doing some stuff with %s', input)
return(input)
}
res <- lapply(FUN=doStuff, X=seq(1,8,1))
# >> this prints
res2 <- foreach(input = seq(1,8,1)) %do% doStuff(input)
# >> this prints
res3 <- foreach(input = seq(1,8,1), .packages='futile.logger') %dopar% doStuff(input)
# >> this does not
identical(res,res2) && identical(res,res3)
我并不真正关心并行后端,可以是任何东西,但我怎样才能让日志记录正常工作
【问题讨论】:
标签: r logging parallel-foreach