Create Internal Logger With Dedicated Output Window/Tab
'@TRiLeZ @towicode If this should not be implemented, please label this issue as "wontfix" and close, so that a developer does not pick it up.
Currently, there is no way to differentiate between script logs and tribot logs, since scripts tend to utilize both the StandardOut window, as well as the script logging window.
It would be beneficial to have an internal logger tab in tribot that is inaccessible to scripts.
On top of that, this would be a good opportunity to expand our internal logging to give us more insight into obscure bugs that have been occurring recently to our users that are difficult to reproduce.
To do so, we can obviously log in more places, but it would also be nice to have a fully-featured Logger.
Example Features:
- Log Types (Info, Verbose, Warning, Error)
- Shared functionality so that the scripters can utilize the advanced logging features, without access to the internal logging window
- Interface-based design to allow extensions and alterations, as well as completely custom loggers with varying implementations.
- Color-coded text lines (would require minor GUI adjustment for the logging listbox)
Impacts/Risk:
- No API signatures need to be changed. General#println would likely be deprecated, though, depending on how far this work is taken. No scripts would break as a result.
- The internal logger would be visible to users, and it would be a perfect source of information when users need to report bugs. However, it's important that no sensitive data be leaked into it (should be easy to avoid).
- Internal code would gradually be refactored over time to produce more logs, and new code would immediately take advantage of the logger.