我想知道是否可以通过任何方式访问Shiny App的用户日志。
当前,我使用下面的代码来获取谁登录以及该人何时注销。
但是,我希望知道用户登录的时间,以便能够知道用户使用该应用程序的时间。
session$onSessionEnded(function(){
UserInfo <- data.frame(
LoginName = session$user,
Time = as.character(Sys.time())
)
此外,我了解Google Analytics(分析)可以轻松访问此类信息,但我确实更喜欢采用“发光”的方式来解决它。
我还尝试使用`session $ clientData',正如文档说它用于"Getting Non-Input Data From the Client",但我不知道如何获得登录时间。
有人对我如何实现这一目标有任何想法吗?预先感谢!
答案 0 :(得分:0)
对于shiny scoping rules,server <- function(input, output, session)
内部的所有内容都是按会话计算的。
server <- function(input, output, session) {
# everything in here is run once per-session, so it should run as soon as
# a user starts using the app
started <- Sys.time()
# ... reactives here ...
session$onSessionEnded(function() {
UserInfo <- data.frame(
LoginName = session$user,
Time = as.character(Sys.time())
)
# ... do something with UserInfo ...
})
事实上,作用域定义规则恰恰表明了这一点,但他们将其命名为startTime
。 (困难:缓存失效和变量命名。)