Skip to content

_filters

Define filter classes for logging configs.

FilterConfig dataclass

Bases: BaseLoggingConfig

Define a logging filter.

Parameters:

Name Type Description Default
name str

A name for the filter, which can be added to a dictConfig's filters param.

required
func callable

The filter function to use when this class is called by a handler.

required
Source code in src/red_logging/filters/_filters.py
@dataclass
class FilterConfig(BaseLoggingConfig):
    """Define a logging filter.

    Params:
        name (str): A name for the filter, which can be added to a dictConfig's `filters` param.
        func (callable): The filter function to use when this class is called by a handler.
    """

    name: str
    func: callable

    def get_filter(self) -> logging.Filter:
        filter_obj = logging.Filter(name=self.name)
        filter_obj.filter = self.func
        return filter_obj