| | 1 | == Unified Logging Service == |
| | 2 | We've created a subsystem of the simulator to provide a real time monitor of student interactions with the system for instructors to view to facilitate assessment of student actions. |
| | 3 | |
| | 4 | We call it a "unified" logging service because it combines logs from several different sources into a single log. Currently it combines input from: |
| | 5 | |
| | 6 | * CAD comment logs (generated by CAD server) |
| | 7 | * CMS messages (generated by CPTMS) |
| | 8 | |
| | 9 | and in the near future |
| | 10 | |
| | 11 | * HAR messages (generated by CPTMS) |
| | 12 | * Activity Logs (generated by Activity Logger web app) |
| | 13 | * Instructor Comments & Evaluations (generated by EI Notebook) |
| | 14 | |
| | 15 | The output is a CSV file, unifiedlog.csv, which merges all the previous logs and orders them by simulation time. |
| | 16 | |
| | 17 | A separate web app, unifiedlogmonitor.html, runs in a web browser to display a nicely formatted version of the CSV file. |
| | 18 | |
| | 19 | === Configuration === |
| | 20 | A single configuration file, `loggingservice.cfg`, resides in the simulation `config` folder. |
| | 21 | |
| | 22 | {{{ |
| | 23 | [Paths] |
| | 24 | UnifiedLogPath = webapps/dynamicdata/ |
| | 25 | }}} |
| | 26 | The only option is to specify the path to the folder in which the output CSV file is to be created. This will change between dev and production systems; the production system will expect the file to exist on the apache server. |
| | 27 | |
| | 28 | === Packaging === |
| | 29 | The source code is in the `src/python/unifiedlogger` folder. The `package.sh` script found in that folder should be run to package the source files into a zip file and place it in the `deploy` folder. |
| | 30 | |
| | 31 | === Testing === |
| | 32 | Attached to this page are test data files: `CADlogTestdata.txt` and `CMSlogTestdata.txt.` |
| | 33 | |
| | 34 | Save the first one in the `trunk` folder and rename it to `CADcomments.log` |
| | 35 | |
| | 36 | Save the second one in `webapps/dynamicdata` and rename it to `cms_messages.json` |
| | 37 | |
| | 38 | Open a terminal in the trunk folder and start the application: `python deploy/unifiedlogger.zip` |
| | 39 | |
| | 40 | The application will echo logs to the console for diagnostic purposes.The expected output file is `unifiedlog_expected.csv` (attached). |