The DataSHIELD log is structured as follows:
dsadmin.log(opal, all = TRUE)
Opal connection object.
Get all or only latest log messages.
Common fields
timestamp: when action is logged
version: not used
message: human readable message
logger_name: name of the log channel
thread_name: java thread name
level: log level (TRACE, DEBUG, INFO, WARN, ERROR)
level_value: log level numeric value
ip: ip origin of the request, when available
ds_id: unique DS session ID
ds_profile: DS profile name (available after the R server session is created, can be after authentication)
username: DS user name
r_duration: time spent by the remote R server action (all except PARSE)
r_size: R result serialized object size in bytes
ds_action: DS operation (OPEN, CLOSE, PARSE, ASSIGN, AGGREGATE, LS, RM, WS_SAVE, WS_RESTORE)
DS operations fields
OPEN: DS session opened (note: happens after successful authentication as R server session creation is deferred)
CLOSE: DS session closed
PARSE: R expression parsed
ds_map: DS function mappings used in the R parser, separated by semicolons when several functions are called
ds_script_in: R script as sent by DS user
ds_script_out: R script rewritten by opal, to be evaluated
ASSIGN:
ds_symbol: assigned symbol name
ds_table: table name that is assigned
ds_resource: resource name that is assigned
ds_eval: assign R expression that is evaluated
AGGREGATE:
ds_eval: aggregate R expression that is evaluated
LS: R symbols listed
RM: R symbol removed
ds_symbol: symbol name to remove
WS_SAVE:
ds_ws: workspace name
WS_RESTORE:
ds_ws: workspace name
if (FALSE) {
o <- opal.login('administrator','password', url='https://opal-demo.obiba.org')
dsadmin.log(o)
opal.logout(o)
}
Run the code above in your browser using DataLab