我构建了一个简单的闪亮应用程序,由于输入数据问题,用户面临错误,作为管理员,如果我登录到服务器,我可以在日志中看到错误,但用户也希望看到问题,以便他们可以修复(格式问题)。 想知道是否可以在应用程序(浏览器本身)中获取日志(至少是错误)
你可以试试我的软件包{spsComps}。使用异常处理功能
shinyCatch
。此功能将在服务器端和用户端记录消息、警告或错误。
这里是参考:https://systempipe.org/sps/funcs/spscomps/reference/shinyCatch.html
您可以在服务器组件选项卡下尝试演示:https://lezhang.shinyapps.io/spsComps/
基本用法非常简单:
library(spsComps)
ui <- fluidPage(
spsDepend("toastr"),
sliderInput(
"a", label = "change number", -10, 10, 5
),
verbatimTextOutput("b")
)
server <- function(input, output, session) {
output$b <- renderText({
shinyCatch({
if (input$a < 0) stop("need > 0")
}, blocking_level = "error")
input$a
})
}
shinyApp(ui, server)
例如,您有一个从 -10 到 10 的滑块,并且需要值 > 0。如果用户有 < 0, there will be an error.
shinyCatch
,则会将错误作为 Toast 消息记录在服务器和 UI 上。 blocking_level = "error"
表示在同一反应式上下文中阻止其余代码,因此在这种情况下,您看不到 input$a
的打印输出。您可以选择继续而不添加此内容。然后会出现错误消息,但代码继续执行。
其他示例:https://systempipe.org/sps/dev/spscomps/server/#shinycatch