R 函数 Sink 不会将消息或警告重定向到文件

R function Sink isn't redirecting messages or warnings to a file

我希望将 stderr 和 stdout 消息重定向到输出文件。这是我尝试过的:

sink("outputFile" ,type = c("output", "message"))
print("using print")
cat("using cat\n")
message("using message")
warning("using warning")

当我 运行 这段代码时,我仍然在我的 R 控制台中看到 "using message" 和 "using warning",并且它没有被重定向。

有没有办法将 stdout 和 stderr 都重定向到一个文件?我使用此代码将我的 stderr 重定向到 stdout,但这并不是我要找的。

sink(stdout(), type = "message") # sink messages to stdout

您需要分两步完成,使用类似这样的方法:

zz <- file("test.txt", open = "wt")
sink(zz ,type = "output")
sink(zz, type = "message")
print("using print")
cat("using cat\n")
message("using message")
warning("using warning")
#and to close connections
sink()
sink()