Skip to content

Conversation

@seraxis
Copy link
Owner

@seraxis seraxis commented Nov 22, 2025

This is a tracking PR for reworking the logging in Endless Dream. This comment will be editted as requirements are discussed and updated.

Background

The logging system inherited by upstream has several issues, and has been neglected for some time now. It is slow, most logging messages are in Japanese, and XML structured logging is verbose, not easily human readable, and has largely fallen out of favor.

Requirements

Through internal discussion the following criteria should be met:

  • There will be two log files: a user facing, and developer facing log file
  • The developer log file must be in English
  • The old Japanese logging messages should be preserved in a per-locale i18n user facing log
  • stdout should be in the per-locale i18n format
  • Existing errors should receive 4 digit error numbers to keep communication clear

Open Questions

The following has yet to be addressed

  • How could we route JVM crash messages in stdout into the log file?
  • How should we communicate BMS parse errors to the user more effectively than is done now?
  • Should we promote certain warnings/errors to popping up an imguinotify toast? if so which ones?

Relevant PRs

#100
#177 (merged)

@seraxis seraxis marked this pull request as draft November 22, 2025 22:58
@Arctice
Copy link
Contributor

Arctice commented Nov 26, 2025

As discussed internally, I broadly agree with these requirements.
I've informally proposed storing BMS parse errors in a separate database that can be retrieved in-game, so that they're both accessible when needed and don't spam the logs during regular use, but I'm still not sure if it's a great approach.
For skin makers, it'd be very helpful if skin load errors (during full skin load, not header load) were a notification instead of an error message.

@Catizard
Copy link
Collaborator

Catizard commented Dec 2, 2025

As #177 shows, I think we should also refactor all e.printStackTrace() calls some day

@Catizard
Copy link
Collaborator

These requirements are now served in #100:

  • There will be two log files: a user facing, and developer facing log file
  • The developer log file must be in English
  • stdout should be in the per-locale i18n format

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants