Я хочу использовать сток внутри функции.
Позволяет создать файл с воспроизводимым примером:
write.table("stop('error message')", "sampleError.R")
Первый рабочий пример - вне функции:
con <- file("test.log")
sink(con, append = TRUE)
sink(con, append = TRUE, type="message")
source("sampleError.R", echo = TRUE, max.deparse.length = 10000)
sink()
sink(type = "message")
logFile <- readLines("test.log")
Теперь неудачная попытка вызвать егов функции.Ошибка состоит в том, что запись не завершена, и команды sink()
должны вызываться вне функции для завершения создания журнала.
f <- function(){
con <- file("test.log")
sink(con, append = TRUE)
sink(con, append = TRUE, type="message")
source(filePath, echo = TRUE, max.deparse.length = 10000)
sink()
sink(type = "message")
logFile <- readLines("test.log")
}
f()
И да, к сожалению, я должен настаивать на том, чтобы вызывать его изфункция;)