问题描述
换句话说,whatever_R_function(abc,verbose=TRUE)
的详细控制台输出应保存在某个地方。
我尝试过玩verbose.output <- capture.output(whatever_R_function(abc,verbose = TRUE))
,但是它不起作用,因为capture.output()
仅捕获输出的非详细部分。
两个例子:
install.packages('devtools',verbose=TRUE)
或
library(emayili)
smtp <- server(host = '...',port = ...,username = '...',password = '...')
email <- envelope() %>%
from('...') %>%
to('...') %>%
bcc('...') %>%
reply('...') %>%
subject('...') %>%
html('...') %>%
attachment('...')
smtp(email,verbose = TRUE)
谢谢。
R 4.0.2-RStudio 1.3.1093-macOS 10.15.7
解决方法
我没有深入研究install.packages
代码,但是在verbose = TRUE
时是smtp
appears to use cat
directed to stderr()
。
?capture.output
帮助页面上显示:
发送到
stderr()
的消息(包括来自message
,warning
和stop
的消息)被type = "message"
捕获。请注意,这可能是“不安全的”,应谨慎使用。
所以,我相信如果您使用capture.output(...,type = "message")
,应该会得到它。这很有可能也适用于install.packages
。
我不确定为什么这被认为是不安全的,或者您应该采取什么措施...