CSC/ECE 517 Spring 2017/E1732 Additions to logging

From Expertiza_Wiki
Revision as of 03:01, 8 April 2017 by Aananth3 (talk | contribs)
Jump to navigation Jump to search

Introduction

Currently, Expertiza doesn’t log anything, beyond the events in the console log. But often there is a need to know when a student logged in, reserved a topic, dropped off a team, reviewed etc. In real time, logs are the first thing to start checking the performance and other metrics. But it is also important to describe which data to log and why. Users activity may not be used for testing or debugging purposes, but can help an evaluator or admin to make sure the authenticity of student submissions and check the timelines. It sure can be used in future to read those logs and report back to users about their action timeline if required.

What to Log

For Students

  • Logins, logouts, signups
  • submission of files/links
  • issuing invitations, joining teams, dropping off teams
  • requesting reviews, submitting reviews
  • undoing any of these operations.


For Admin/ Instructor/ TA

  • creating/editing courses and assignments
  • giving grades
  • impersonating other users
  • adding TAs, adding participants to courses or assignments
  • assigning reviewers.

What we plan to implement

The project mainly consists of two parts:

1. Logging the various students and instructors logs and process them accordingly.

2. Extend the existing UI or create one separately if needed along with the required fields as described in the project description.


The same has been mentioned in terms of a flowchart:

The Logger class in Rails has the following severity levels:

  • UNKNOWN - An unknown message that should always be logged.
  • FATAL - An unhandleable error that results in a program crash.
  • ERROR - A handleable error condition.
  • WARN - A warning.
  • INFO - Generic (useful) information about system operation.
  • DEBUG - Low-level information for developers.

Usually, in a production system Logger is set to INFO or WARN. For our project, we plan to use DEBUG level severity. For this, we first need to change the Formatter class to include DEBUG level severity to the log file.

References

  1. Expertiza on GitHub
  2. The live Expertiza website
  3. Expertiza project documentation wiki
  4. Severity level in Logger