If used in ui of an application, this will create new inputs available in the server. Set dependencies = FALSE in track_usage server-side to load dependencies only once.

use_tracking(on_unload = FALSE, exclude_input_regex = NULL,
  exclude_input_id = NULL)



Logical, save log when user close the browser window or tab, if TRUE it prevent to create shinylogs input during normal use of the application, there will be created only on close, downside is that a popup will appear asking to close the page.


Regular expression to exclude inputs from tracking.


Vector of inputId to exclude from tracking.


The following inputs will be accessible in the server:

- .shinylogs_lastInput : last input used by the user

- .shinylogs_input : all inputs send from the browser to the server

- .shinylogs_error : all errors generated by outputs elements

- .shinylogs_output : all outputs generated from the server

- .shinylogs_browserData : information about the browser where application is displayed.


if (interactive()) { library(shiny) library(shinylogs) ui <- fluidPage( # Load tracking dependencies use_tracking(), splitLayout( cellArgs = list(style = "height: 250px"), radioButtons("radio", "Radio:", names(iris)), checkboxGroupInput("checkbox", "Checkbox:", names(iris)), selectInput("select", "Select:", names(iris)) ), tags$p("Last input used (name correspond to inputId:"), verbatimTextOutput("last") ) server <- function(input, output, session) { output$last <- renderPrint({ input$.shinylogs_lastInput }) } shinyApp(ui, server) }