2018 Ericsson AB. All Rights Reserved. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. logger_filters A logger_filters.xml
logger_filters Filters to use with logger.

Filters to use with logger. All functions exported from this module can be used as logger or handler filters. See logger:add_logger_filter/2 and logger:add_handler_filter/3 for more information about how filters are added.

Filter log events based on the domain field in metadata.

This filter provides a way of filtering log events based on a domain field Metadata.

The Extra parameter is specified when adding the filter via logger:add_logger_filter/2 or logger:add_handler_filter/3.

The filter compares the value of the domain field in the log event's metadata (Domain) to MatchDomain as follows:

Compare = starts_with

The filter matches if MatchDomain is a prefix of Domain.

Compare = prefix_of

The filter matches if Domain is a prefix of MatchDomain.

Compare = equals

The filter matches if Domain is equal to MatchDomain.

Compare = no_domain

The filter matches if there is no domain field in metadata. In this case MatchDomain shall be [].

If the filter matches and Action = log, the log event is allowed. If the filter matches and Action = stop, the log event is stopped.

If the filter does not match, it returns ignore, meaning that other filters, or the value of the configuration parameter filter_default, will decide if the event is allowed or not.

Log events that do not contain any domain field, will only match when Compare = no_domain.

Example: stop all events with domain [beam,erlang,otp,sasl|_]

logger:set_handler_config(h1,filter_default,log). % this is the default Filter = {fun logger_filters:domain/2,{stop,starts_with,[beam,erlang,otp,sasl]}}. logger:add_handler_filter(h1,no_sasl,Filter). ok
Filter log events based on the log level.

This filter provides a way of filtering log events based on the log level. It matches log events by comparing the log level with a predefined MatchLevel

The Extra parameter is specified when adding the filter via logger:add_logger_filter/2 or logger:add_handler_filter/3.

The filter compares the value of the event's log level (Level) to MatchLevel by calling logger:compare_levels(Level,MatchLevel) -> CmpRet. It matches the event if:

CmpRet = eq and Operator = eq | lteq | gteq CmpRet = lt and Operator = lt | lteq | neq CmpRet = gt and Operator = gt | gteq | neq

If the filter matches and Action = log, the log event is allowed. If the filter matches and Action = stop, the log event is stopped.

If the filter does not match, it returns ignore, meaning that other filters, or the value of the configuration parameter filter_default, will decide if the event is allowed or not.

Example: only allow debug level log events

logger:set_handler_config(h1,filter_default,stop). Filter = {fun logger_filters:level/2,{log,eq,debug}}. logger:add_handler_filter(h1,debug_only,Filter). ok
Filter progress reports from supervisor and application_controller.

This filter matches all progress reports from supervisor and application_controller.

If Extra = log, the progress reports are allowed. If Extra = stop, the progress reports are stopped.

The filter returns ignore for all other log events.

Filter events with group leader on remote node.

This filter matches all events originating from a process that has its group leader on a remote node.

If Extra = log, the matching events are allowed. If Extra = stop, the matching events are stopped.

The filter returns ignore for all other log events.