Closed benloh closed 1 year ago
requested review from @jdanish
@jdanish I'm still refining a few things, but this is ready for general testing.
added 2 commits
marked the checklist item Since "Log" is enabled on an opened project page, always log project opening as completed
marked the checklist item DisplayList logging does not pay attention to the "Log" checkbox as completed
marked this merge request as ready
@jdanish Alright, all basic logging should be in place.
added 2 commits
mentioned in commit dd18b5672bae345aadbd6ae8dad022a3b52097f9
Merges dev-bl/log-ui -> dev-next
Branch:
dev-bl/log-ui
This is a prototype implementation of the logging system for researcher and AI processing purposes. The goal is to provide a baseline example of logging data to determine if this is sufficient. We expect to iterate on this to refine the reporting.
OVERVIEW
There are two different logs representing two different time scales of data:
Human-Readable Log
Real Time Log
Log files are stored in
gsgo/gs_packages/gem-srv/runtime/logs
All log lines contain:
UADDR
value. Opening a second browser on a computer/laptop/phone will create a new UADDR. Each browser page reload will also create a new UADDR.More details below.
Human-Readable Log
The human readable log will log the following events:
DEVICE
joined network
PROJECT
Create New Project
Open Project
Open SimViewer
Open CharController
PROJECT SETUP:
ProjSetup
Select Setup
Select Save
Project Settings Edit
Project Settings Save
Edit Round Script
Save Round Script
New Blueprint <bpName>
Add Character
Edit Blueprint <bpName>
Edit Instance InitScript
Save Instance InitScript
Drag <name> <x> <y>
Click Character <name> <x> <y>
INSPECT:
Inspect
Show Inspector <name>
Hide Inspector <name>
RUN SIM:
SimEvent
Prep Round
Pick Characters
Start Round
Stop Round
Reset Stage
SCRIPT EDIT:
ScriptEdit
Save to Server
Save Slot <linetext>
Cancel Save Slot
Delete Slot <linetext>
Select Choice <symbol>
SESSION:
Session
Viewer Connect
CharController Connect
CHARCONTROL:
CharCtrl
CharController Set Number of Entities <num>
CharController Select Character <bpName>
Drag <bpName> <entity-id> <x> <y>
Realtime Log
The realtime log will log the following events:
DISPLAYLIST
DISPLAYLIST <displayListJSON>
POZYX: pz (in RTLog)
pz id <id> bpid <bpid> x <x> y <y>
PTRACK: pt (in RTLog)
pt id <id> bpid <bpid> x <x> y <y>
Testing
git fetch && git checkout dev-bl/log-ui
npm run build && npm run gem
-- NOTE there are server changes, so abuild
is necessary.Verify RealTime Logging
DISPLAYLIST
entries with JSON data.*-rtlog-*.txt
file to make sure you seepz
entries.Verify Normal Logging
*-log-*.txt
file.SETUP
Delimiter: Tab
Currently the delimiter is set to be a tab. You can change this in
server-logger.js
line 29 with theLOG_DELIMITER
constant.TO DO