BCUtils.LoggerFilters (bc_utils v0.10.0)

Custom logger filters for reducing noise from commonly verbose libraries.

This module provides pre-configured filters that can be used to reduce log noise from libraries like Swarm, LibCluster, and others while still allowing important error messages through.

Summary

Functions

Retrieves the list of default filters used to reduce logging noise from common libraries such as Swarm and LibCluster. These filters focus on allowing error and critical messages to pass while filtering out less severe log messages.

Filter that only allows error and warning messages from specified modules.

Filter function to reduce LibCluster logging noise.

Filter function to reduce Swarm logging noise.

Combined filter for both Swarm and LibCluster noise.

Functions

default_filters()

Retrieves the list of default filters used to reduce logging noise from common libraries such as Swarm and LibCluster. These filters focus on allowing error and critical messages to pass while filtering out less severe log messages.

Examples

iex> filters = BCUtils.LoggerFilters.default_filters()
[{:swarm_filter, {BCUtils.LoggerFilters, :filter_swarm}},
 {:libcluster_filter, {BCUtils.LoggerFilters, :filter_libcluster}}]

errors_and_warnings_only(log_event)

Filter that only allows error and warning messages from specified modules.

Usage

config :logger, :console,
  filters: [
    errors_only: {BCUtils.LoggerFilters, :errors_and_warnings_only}
  ]

filter_libcluster(log_event)

Filter function to reduce LibCluster logging noise.

Similar to filter_swarm/1 but for LibCluster modules.

filter_swarm(log_event)

Filter function to reduce Swarm logging noise.

This filter allows only :error level messages from Swarm modules to pass through, filtering out :info, :debug, and :warning messages that create noise.

Usage

Add to your logger configuration:

config :logger, :console,
  format: "$time [$level] $message

",

  metadata: :all,
  filters: BCUtils.LoggerFilters.default_filters()

filter_verbose_libs(log_event)

Combined filter for both Swarm and LibCluster noise.

Usage

config :logger, :console,
  filters: [verbose_libs: {BCUtils.LoggerFilters, :filter_verbose_libs}]