R process$new записывает stdout и stderr в тот же файл
В моем коде R я вызываю другой сценарий R как отдельный процесс, подобный этому
rp <- callr::process$new(command = "rcode.R", args = c("--date", date)
, stdout = 'logfile.txt', stderr = 'logfile.txt'
, cleanup = FALSE
, echo_cmd = TRUE
)
Оба сообщения журнала, а также любые ошибки записываются в один и тот же файл журнала. Но сообщения об ошибках пишутся поверх файла, а не внизу страницы.
Образец файла журнала
Error in eval(parse(text = text, keep.source = FALSE), envir) :
object 'filepath' not found
Calls: script2... glue_data -> -> .transformer -> eval -> eval
In addition: Warning messages:
1: In rm(var traceback available
lEnv") :
INFO [2021-04-20 13:30:37] date : 2021-03-28
INFO [2021-04-20 13:30:37] user : aaa
INFO [2021-04-20 13:30:37] param2 : value
В приведенном выше образце файла журнала, когда произошла ошибка, я хотел бы, чтобы ошибка была напечатана в конце файла.
Могу я тоже задать дополнительный вопрос? Зачем
rp$get_exit_status()
возвращается
zero
даже после того, как в коде есть ошибка?