Skip to content
master
Switch branches/tags
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
 
 
R
 
 
 
 
 
 
man
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

shinylogs

Logging tool for Shiny applications: record inputs or outputs changes, and infos about user’s session. All recording is done client-side to not slow down the application and occupy the server.

version cran checks Lifecycle: stable Project Status: Active The project has reached a stable, usable state and is being actively developed. Codecov test coverage R build status

Installation

You can install the released version of shinylogs from CRAN with:

install.packages("shinylogs")

And the development version from GitHub with:

# install.packages("remotes")
remotes::install_github("dreamRs/shinylogs")

Usage

Call the main function track_usage in server part of application, and specify where to write logs:

library(shinylogs)

track_usage(storage_mode = store_json(path = "logs/"))

The function will record :

  • inputs : each time an input change, name, timestamp and value will be saved
  • errors : errors propagated through outputs
  • outputs : each time an output is re-generated
  • session : informations about user’s browser and the application

See the vignette for more details (?vignette("shinylogs")) or the online version.

Examples

Some example of what is recorded with logs from applications available on our Shiny-Server: http://shinyapps.dreamrs.fr/

Number of connections per applications:

Number of connections over time :

Which tabs (from sidebar in {shinydashboard}) in shinyWidgets gallery are the most seen :

User-agent is recorded per connection and can be parsed with uaparserjs : (unique users are not registered as we use the open source version of shiny-server)

Development

This package use {packer} to manage JavaScript assets, see packer’s documentation for more.

Install nodes modules with:

packer::npm_install()

Modify srcjs/exts/shinylogs.js, then run:

packer::bundle()

Re-install R package and try track_usage() function.