gpt4 book ai didi

r - 使用 futile.logger 记录所有警告

转载 作者:行者123 更新时间:2023-12-04 03:31:47 26 4
gpt4 key购买 nike

尝试使用 futile.logger 记录所有错误和警告.

对这个处理错误有点满意:

library(futile.logger)
options(error = function() { flog.error(geterrmessage()) ; traceback() ; stop() })
log("a")
# Error in log("a") : argument non numérique pour une fonction mathématique
# ERROR [2016-12-01 21:12:07] Error in log("a") : argument non numérique pour une fonction mathématique
#
# No traceback available
# Erreur pendant l'emballage (wrapup) :

有冗余,但我可以轻松地将 stderr 分开, stdout和日志文件,所以这不是问题。这当然不是很漂亮,还有一个额外的“总结”错误消息是由最终的 stop() 引起的。我不明白,所以我愿意接受建议。

我找不到类似的警告解决方案。我试过的:
options(warn = 1L)
options(warning.expression = expression(flog.warn(last.warning)))
log(- 1)
# [1] NaN

但无济于事。

后续问题:是否有我在不知不觉中忽略的最佳实践?

最佳答案

怎么样:

options(warning.expression = 
quote({
if(exists("last.warning",baseenv()) && !is.null(last.warning)){
txt = paste0(names(last.warning),collapse=" ")
try(suppressWarnings(flog.warn(txt)))
cat("Warning message:\n",txt,'\n',sep = "")
}
}))

关于r - 使用 futile.logger 记录所有警告,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40920616/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com