相关疑难解决方法(0)

将 R 诊断消息发送到 stdout 而不是 stderr

寻找一个选项,让我将 R 诊断消息(由 产生message())重定向到stdout,而不是stderr默认情况下。

message 手册指出:

默认处理程序将消息发送到 stderr() 连接。

所以问题是我怎样才能改变这个默认行为?仍然保持重定向warning()stop()完好无损。

已经尝试过 sinktype='message'但它重定向了所有(消息、警告、错误)。

如果有人愿意测试,这是示例脚本exec_test.R

print("using print")
cat("using cat\n")
message("using message")
warning("using warning")
stop("using stop")
q("no")
Run Code Online (Sandbox Code Playgroud)

然后将通过以下方式执行:

Rscript exec_test.R 1>> exec_test.Rout 2>> exec_test_error.Rout

我不知道要使用什么,2>&1因为我的脚本会产生大量的messages 并且很少产生真正的错误,所以我需要将这些日志存储在单独的文件中。

message r stdout stderr

8
推荐指数
3
解决办法
4400
查看次数

标签 统计

message ×1

r ×1

stderr ×1

stdout ×1