In JUL, there is no default filter implementation. But some common filters you can find in other frameworks or JUL extensions are:
- A time-based filter:
- If the log message is outside a time range, then skip it
- If a log message is older than some configured duration, then skip it (can be useful depending on the work done before the filter in the chain and if the machine has a hot peak)
- A Mapped Diagnostic Context (MDC) based filter: Typically, if an MDC value is matched (for example if MDC['tenant'] is hidden_customer), then skip the message
- Throttling: If you know you use a handler that can't support more than 1,000 messages/seconds—or if the actual backend, such as a database, can't support more—then you can use a filter to enforce ...