Logging Events in Complex Shiny Apps
knitr::opts_chunk$set(
collapse = TRUE,
comment = "#>",
fig.path = "man/figures/"
)
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.
install.packages("shinyEventLogger")
# install.packages('devtools')
devtools::install_github("kalimu/shinyEventLogger")
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()
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|
DemoApp
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