Should I finish my Developer Console rewrite?

I would certainly enjoy better debug tools – you should absolutely finish it. Some feedback:

  • A “Hide Copies” option is bloat. They should be automatically combined like the output with the timestamp showing the most recent occurence
  • UI appearance could use a facelift

I worked on something similar that tackles the developer’s consoles biggest flaws. Implementing its features into your rewrite would make for a really powerful tool:

  • Logs from before you joined are showed (the developer console doesn’t replicate existing server errors on join)
  • You can view other clients’ logs
  • Logs involving clients are generalized so they display as <Player>.Character.Tool.Script : ErrorMsg
    • This makes it easier to combine duplicate errors
    • I also log “AffectedPlayers” when I parse their names out. Currently I only increment a counter, but you could show the actual affected players as well
  • Stack traces of errors are hidden until the error is selected, which clears up clutter
  • Duplicate logs are automatically combined
  • Duplicate stack traces are ignored. Different stack traces for the same error are logged.
  • Model itself automatically filters out garbage logs like “Replication: Can’t create default object of type x”
  • Developers can set custom permission (who gets to use console) callback
  • Server age and cumulative player counter

Here are some features I wanted to implement but never got around to as well:

  • Log errors to the DataStore + a plugin interface to view/search them
  • Advanced filters (not what’s pictured in this post, but Google-like searching where we can control exactly what we search with quotations, etc)
  • Ability to save filters to DataStore so they can be reused later (important for longer advanced filter strings)
  • Ability to set up alerts for logs with filters
    • Log to special DataStore key which the plugin will auto-notify for when the place is opened up
    • Popup to developers in-game
    • Log to some 3rd-party service which can ping developers
10 Likes