Discriminants match the C++ drm::LogLevel byte-for-byte, so a consumer
bridging both libraries can cast between them. Ordering is by verbosity:
a record is admitted when the active level is >= the record’s level, so
LogLevel::Silent admits nothing and LogLevel::Debug admits all.
Non-exhaustive enums could have additional variants added in future. Therefore, when matching against variants of non-exhaustive enums, an extra wildcard arm must be added to account for any future variants.
The lowercase tag the default sink prints inside [drm:...].
LogLevel::Silent has no tag and yields "silent" only for
diagnostics; the built-in sink never prints it – the level gate
rejects it, and the sink drops one that log_channel! passes through.
A custom sink may still receive it.
Whether a record at record is admitted when self is the active
level.
use drmkit_log::LogLevel;
assert!(LogLevel::Warn.admits(LogLevel::Error));
assert!(!LogLevel::Warn.admits(LogLevel::Info));
assert!(!LogLevel::Silent.admits(LogLevel::Error));