Currently O3DE uses a legacy console that offers no functionality for sorting, filtering, it is simply a text view, users don't get much benefit from it.
Games and simulations may produce significant amounts of logging, a good log viewer improves developer efficiency by allowing to quickly find and identify problems, custom error, warning, or diagnostic messages, etc. Currently developers may copy out of the log, paste the contents into a text editor and search or open the .log file, either option takes the user outside of the O3DE editor which can be a distraction and reduces development velocity.
This proposal is to add a new Tool window and gradually phase out the legacy console log. Using the logging functionality that already exists in AzToolsFramework, which is already used by the Asset Processor and the Material Editor users will get a much better experience without much effort.
AzTracePrintf("Editor", "Saving level...");
)The following image is a proof-of-concept of this proposal:
The legacy console has a built-in console command field, this allows cvars and commands to be issued directly. Mitigation: This functionality could be added and/or separated into its own dockable tool
The new console tool would need to be instantiated earlier than most tools, alternatively, it could parse the existing log when it is created, otherwise early logged messages would not be caught
The legacy console most may have a smaller impact on performance, the AzToolsFramework console has a built in throttling mechanism to reduce its impact, this needs some investigation. Mitigation: profile the logging system and address performance issues if they exist
It may still be useful to have a raw "rich text" console, the existing console log could be consolidated into a "raw log" view
Sorting by message could make sense if you want to see how many time a certain message was logged
This isn't live debugging, it's for developers to add messaging that aids them log things during the development stages, it's usually disabled after a feature is stable, but can be re-enabled if a feature has a bug, it happens frequently during active development
Yes, this can be added
Yes, this can be added
Yes, an "Ignore this Message" option can be added