【问题标题】:Print information into shiny-server log将信息打印到闪亮服务器日志中
【发布时间】:2017-04-17 11:57:41
【问题描述】:

有没有办法将信息包含/打印到闪亮服务器日志文件中?

我正在使用一个包含用户登录的闪亮应用程序,如果我的应用程序崩溃,我想知道是什么用户导致了这次崩溃。

我试图将其包含在我的server.R

#PRINT FOR LOG FILE------------
cat(paste0("Username: ",userdata$name, "\n"))
cat(paste0("Datum: ",Sys.time(), "\n"))

但它不起作用。 有什么想法吗?

【问题讨论】:

  • message(...) 是唯一对我有用的东西......

标签: r logging shiny shiny-server


【解决方案1】:

file=stderr() 参数添加到您的cat

cat(file=stderr(), paste0("Username: ",userdata$name, "\n"))
cat(file=stderr(), paste0("Datum: ",Sys.time(), "\n"))

this article中所述:

关于stderr()的注释:在大多数情况下cat("my output")(即打印 到标准输出)将正常工作,但在其他情况下(例如在 renderPrint,它使用capture.output 来重定向输出),它不会, 所以我们建议始终将跟踪输出发送到stderr()

【讨论】:

    【解决方案2】:

    试试这个,假设你在这里使用我的答案 password

      observe({
        if (USER$Logged == FALSE) {
    
          output$page <- renderUI({
            div(class="outer",do.call(bootstrapPage,c("",ui1())))
          })
        }
        if (USER$Logged == TRUE) {
          output$page <- renderUI({
            div(class="outer",do.call(navbarPage,c(inverse=TRUE,title = "Contratulations you got in!",ui2())))
          })
          cat(paste0("Username: ",input$userName, "\n"))
          cat(paste0("Datum: ",Sys.time(), "\n"))
          print(ui)
        }
      })
    

    【讨论】:

    • 其实,这就是我现在正在做的事情:observe({ if (USER$Logged == TRUE) { cat(paste0(...)) } })。然而,userdata 是非反应性的 USER$Logger。
    猜你喜欢
    • 2017-07-17
    • 1970-01-01
    • 1970-01-01
    • 2015-09-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-06-01
    • 2014-10-05
    相关资源
    最近更新 更多