【发布时间】:2015-11-05 22:47:50
【问题描述】:
出于教育目的,我们会记录学生在实验期间在 rstudio 控制台中键入的所有命令。此外,我们希望存储调用是否成功或引发错误,以识别那些努力获得正确语法的学生。
我能想到的最好的方法是这样的:
options(error = function(){
timestamp("USER ERROR", quiet = TRUE)
})
这会在发生异常时在历史日志中添加## ERROR 注释。因此,我们可以分析历史文件以查看哪些命令后跟 ## ERROR 注释。
但是,R 的内部历史系统不太适合记录日志,因为它在内存中,大小有限,需要使用 savehistory() 手动存储。此外,我更愿意为每个调用存储一行日志,即为多行命令转义换行符。
R 或 RStudio 控制台中是否存在用于记录实际执行命令的钩子?这将允许我在数据库中插入每个评估的表达式(和错误)以及用户名和时间戳。
【问题讨论】:
-
你只关心顶级命令吗?
-
@JoshuaUlrich 是的,只有用户输入的命令。