Skip to content

GoLogger v1.2 Released!

Choose a tag to compare

@Burloe Burloe released this 20 Nov 22:49
· 458 commits to main since this release

GoLogger_Icon_Title New Icon!

This update includes a major rewrite of the plugin, with significant changes that have added, removed or replaced features. The two main additions in update is the new Category system and Dock Panel, which allows users to manage log categories, change settings and tailor the plugin to your needs, all in one, easily accessibly panel. This new dock has the integrated Category system that allows users to easily add, rename, and delete log categories.

This update has expanded the code base considerably compared to previous versions, changing the plugin from a basic framework that required code modifications to make any meaningful changes, into a more feature-rich standalone tool. It's now designed to be code-free, user-friendly, and accessible for beginners. However, with more moving parts comes more potential points of failure. That's why I'm holding off on updating the Asset Library plugin to see if any bug reports or installation issues comes up. Please create an issue if you experience any issues!

Note that unfortunately, this update doesn't work on 4.2 and below!

TLDR Changelist:

  • GoLogger Dock - Category management and settings are now accessible inside a dock panel instead of requiring you to open a scene and change settings in the inspector. Category tab also has some basic monitoring of the last active session.
  • Category system - Overhauled this process completely. You add more categories now using the dock which makes the process completely code-free.
  • Save copies of the active session - *You can at anytime save a copy of the active session into a separate file, stored in a subfolder, which excludes the file from being deleted.
  • Hotkeys - You can now control sessions with hotkeys. Start Ctrl + Shift + O, copy Ctrl + Shift + U, stop Ctrl + Shift + P, controller toggle Ctrl + Shift + K.
  • Directories and folders - Instead of defining each directory manually. You now enter a base directory and GoLogger will create folders for each category inside of it.
  • Controller removed - * With the addition of hotkeys, the controller was left redundant and considering the new additions in this update, superfluous features was cut.

GoLogger Dock:

The dock panel is a new addition to the bottom dock, consolidating all plugin settings and category management in one place. This enhancement removes the need to open a scene file to change settings, aiming for a more efficient and user-friendly experience, significantly improving the ease of use of the plugin compared to previous releases.

GoLoggerSettingsDock

Log Category System:

In earlier versions, adding log categories required users to navigate the code and copy-paste sections to add additional categories. A workaround that never fit with GoLogger’s drag-and-drop design. This update introduces a more user-friendly solution with the addition of the new Category system.

New categories can now be created entirely through the dock's "Category" tab in the editor, with no code changes required. You can rename, add, or delete categories freely, and the plugin will generate folders for each category at runtime. The base directory is created whenever settings are updated, and the plugin includes two default categories: "game" and "player."
GoLoggerCategoryDock

Save copies of the active session:

You can now save a "session copy" of the active session by pressing the hotkey. This will bring up a popup prompt that requires you to specify a name. Once done, a copy is saved inside the category's "saved_logs" subfolder. The name you enter will be timestamped automatically and doesn't require you to add ".log" either.

While the popup prompt is displayed, any limit method is paused from triggering while still allowing entries to be logged. Meaning the SessionTimer is paused, Entry Count won't be triggered. For this reason, the prompt has a timer that cancels the action after 30 seconds of inaction.
GoLoggerCopySession

Hotkeys:

Gologger now supports hotkeys for all major actions, allowing users to manage sessions without additional runtime code. Currently InputEventShortcut resources must be manually located and modified to change the hotkeys. The aim was to find a dock-integrated rebinding feature, similar to using exported InputEventShortcuts. It would entail creating an entire rebind system which was entirely beyond the scope of the plugin for such a minor feature. Another method would be to utilize InputMap actions and bindings but it would arguably be the same process(more or less) with the additional crowding of the InputMap. Feedback and suggestions are welcome on the subject!

Default hotkeys are:

  • Ctrl + Shift + O - Start session
  • Ctrl + Shift + P - Stop session
  • Ctrl + Shift + U - Save copy of current session

Joypad bindings are also supported(just add them to the shortcut resources) but wasn't added by default as to not conflict with any game controls.

Directories and folders:

Instead of manually specifying directories for each log category in the code, you now set the "base directory" using the "Settings" tab of the dock. GoLogger creates folders for each category within the base directory, along with a "saved_logs" folder inside each category to store session copies and protect them from deletion.
GoLoggerDirectories
settings.ini is always stored in user://GoLogger/, regardless of the base_directory setting.

Controller removed:

With the additions of the hotkeys, the controller brought very little value and as such, it was removed. The scale of GoLogger has been increased with this update and because of that, features that provide little return had to be cut. Considering the additions of hotkeys, the controller would never be as simple and quick as a simple button-press. However, if this is something you'd want, creating one that fits your existing UI is as simple as it gets and will yield a better result. Simply add buttons that calls the main plugin methods(start_session(), save_copy() and stop_session()) in the button_up() signals.

Other changes:

  • Settings are now stored in a settings.ini file that's stored inside user://GoLogger/.
  • New settings have been added and some existing ones have been changed/reworked.
  • UTC time and timestamping log entries are now plugin-wide settings which are applied globally rather than having to specify its parameter in every start/stop/entry function call.