by Kamil Wais

Logging Events in Complex Shiny Apps. Logging framework dedicated for complex shiny apps. Different types of events can be logged (character string, value of a variable, multi-line output of a function, result of a unit test, custom error, warning, or diagnostic message). Each event can be logged with a list of parameters that are event-specific, common for a group of events, or common for all app events. Logging can be done simultaneously to R console, browser JavaScript console, a file log, and a database (currently MongoDB). Log data can be further analyzed with the help of process-mining techniques from ‘bupaR’ package.

Installation

Installing stable version from CRAN

install.packages("shinyEventLogger")

Installing version in development from GitHub

# install.packages('devtools')
devtools::install_github("kalimu/shinyEventLogger")

Demo Apps

Simple app logging different events to R console, browser JavaScript console and to a file.

shinyEventLogger::run_demo()

Dashboard that allows for interactive analysis of events from demo app.

shinyEventLogger::run_demo_dashboard()

Hello World

library(shiny)
library(shinyEventLogger)
set_logging()
shinyApp(
  ui = fluidPage(log_init()),
  server = function(input, output) {
    set_logging_session()
    log_event("Hello World")
 }
)

Executing the code above you should see in the console something like this:

|#1|EVENT|Hello World|FIRED|

Demo Shiny Apps

  • DemoApp – demo shiny app logging different types of events.
  • DashboardApp – demo dashboard showing examples how logged events from the DemoApp can be analyzed

Documentation

Package docs (pkgdown): https://kalimu.github.io/shinyEventLogger/index.html

Project description (on homepage): https://kalimu.github.io/project/shinyeventlogger/

For other logging packages see: https://github.com/daroczig/logger