shinyEventLogger

Logging Events in Complex Shiny Apps

27
2
R

output: github_document
editor_options:
chunk_output_type: console

knitr::opts_chunk$set(
  collapse = TRUE,
  comment = "#>",
  fig.path = "man/figures/"
)

shinyEventLogger

Licence
Lifecycle
Travis build status
CRAN Status

Monthly downloads badge
Daily downloads badge
Weekly downloads badge
HitCount

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