== Unified Logging Service == 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. We call it a "unified" logging service because it combines logs from several different sources into a single log. Currently it combines input from: * CAD comment logs (generated by CAD server) * CMS messages (generated by CPTMS) and in the near future * HAR messages (generated by CPTMS) * Activity Logs (generated by Activity Logger web app) * Instructor Comments & Evaluations (generated by EI Notebook) The output is a CSV file, unifiedlog.csv, which merges all the previous logs and orders them by simulation time. A separate web app, unifiedlogmonitor.html, runs in a web browser to display a nicely formatted version of the CSV file. === Configuration === A single configuration file, `loggingservice.cfg`, resides in the simulation `config` folder. {{{ [Paths] UnifiedLogPath = webapps/dynamicdata/ }}} 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. === Packaging === 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. === Testing === Attached to this page are test data files: `CADlogTestdata.txt` and `CMSlogTestdata.txt.` Save the first one in the `trunk` folder and rename it to `CADcomments.log` Save the second one in `webapps/dynamicdata` and rename it to `cms_messages.json` Open a terminal in the trunk folder and start the application: `python deploy/unifiedlogger.zip` The application will echo logs to the console for diagnostic purposes.The expected output file is `unifiedlog_expected.csv` (attached).