Skip to content

Logging for system parameter validation should be configurable #15391

@alice-i-cecile

Description

@alice-i-cecile

What problem does this solve or what need does it fill?

Following #15276, systems are now skipped when they cannot run due to missing data, rather than panicking and crashing their app.

While we should 100% warn by default when this happens, some of those logs will be spurious. This behavior might be expected, and users should be able to turn them off.

What solution would you like?

Allow users to disable this logging by disabling it at the system config level, which should work on both systems and system sets.

It would be nice to be able to change the log level to any of the standard levels: none, debug, info, warn, error, panic, but warn, and ignore are the most important.

What alternative(s) have you considered?

We could also expose a way to turn off these warnings globally, but this is likely to be a footgun: your systems silently not running is very bad!

We could also add resource / component-level log disabling, but that's more complex. My preferred solution there now is to add opt-in support for reads/writes system sets (based on #5388), and then use the mechanism above to configure them.

Additional context

Previously discussed in #15265.

Metadata

Metadata

Assignees

No one assigned

    Labels

    A-ECSEntities, components, systems, and eventsC-UsabilityA targeted quality-of-life change that makes Bevy easier to useD-ModestA "normal" level of difficulty; suitable for simple features or challenging fixesS-Ready-For-ImplementationThis issue is ready for an implementation PR. Go for it!X-UncontroversialThis work is generally agreed upon

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions