Я пытаюсь закрыть свой экземпляр регистратора в блоке finally следующим образом:
logger <- file("all.Rout", open="wt")
sink(logger, type="message")
tryCatch({
warning('test')
message("A")
log('a')
message("B")
}, error = function(e) {
}, finally = {
sink(type="message")
close(logger)
})
Однако в журнал сохраняется только message("A")
и больше ничего. Если я сделаю следующее, проблема будет устранена:
logger <- file("all.Rout", open="wt")
sink(logger, type="message")
tryCatch({
warning('test')
message("A")
log('a')
message("B")
}, error = function(e) {
}, finally = {
})
sink(type="message")
close(logger)
Однако мне действительно нужно, чтобы закрытие было в блоке finally
, чтобы я мог просматривать журналы, если возникла ошибка.
Как это исправить?