Add Logging Framework
Closed this issue · 0 comments
owlang commented
Enable GUI users to track script executions from a session with the option to export a shell script style record of the session.
This would require adding Logging support for each tool but for the scope of this issue ticket, we just need to build out the initial framework and add support for a few tools to set as examples. Below is the initial design for the logging feature
New Classes:
- LogItem
- One per CLI execution statement - may create multiple LogItems per "Execute" click for tools that support bulk file selection
- Track status - did it complete or error out?
- LogInfo
- Stores the set of LogItems from a session
- Stores configs such as allow user to toggle logging on/off
- LogManagerWindow
- View list of LogItems
- Manager and edit log configuration options
- export log as shell script
- user can spin this up from main window button
Add logging support to existing tools:
- BED-to-GFF (simpler parameter options)
- TagPileup (complex parameter options)
- Mark Duplicates (Picard-style example)
Specifications for shell script:
- Header to include version information
- Header include `SCRIPTMANAGER=/path/to/s
- Each LogItem should include comment with timestamp and execution status
- Comment LogItem if execution failed
# This Log Record was generated on XXXX-XX-XX
# using ScriptManager (vXXXX)
SCRIPTMANAGER=/path/to/scriptmanger.jar
PICARD=/path/to/picard.jar
# XXXX-XX-XX
java -jar $SCRIPTMANAGER ...
# XXXX-XX-XX (incomplete)
#java -jar $SCRIPTMANAGER ...