Packages
snakepit
0.7.5
0.13.0
0.12.0
0.11.1
0.11.0
0.10.1
0.10.0
0.9.1
0.9.0
0.8.9
0.8.8
0.8.7
0.8.6
0.8.5
0.8.4
0.8.3
0.8.2
0.8.1
0.8.0
0.7.7
0.7.6
0.7.5
0.7.4
0.7.3
0.7.2
0.7.1
0.7.0
0.6.11
0.6.10
0.6.9
0.6.8
0.6.7
0.6.6
0.6.5
0.6.4
0.6.3
0.6.2
0.6.1
0.6.0
0.5.1
0.5.0
0.4.3
0.4.2
0.4.1
0.4.0
0.3.3
0.3.2
0.3.1
0.3.0
0.2.1
0.2.0
0.1.2
0.1.1
0.1.0
High-performance pooler and session manager for external language integrations. Supports Python, Node.js, Ruby, and more with gRPC streaming, session management, and production-ready process cleanup.
Current section
Files
Jump to
Current section
Files
lib/snakepit/logger.ex
defmodule Snakepit.Logger do
@moduledoc """
Centralized logging for Snakepit with configurable verbosity.
Users can control Snakepit's log output with:
config :snakepit, log_level: :warning # Only show warnings and errors
config :snakepit, log_level: :info # Show info, warnings, and errors (default)
config :snakepit, log_level: :debug # Show everything
config :snakepit, log_level: :none # Suppress all Snakepit logs
"""
require Logger
@doc """
Log at debug level if configured log level allows it.
"""
def debug(message, metadata \\ []) do
if should_log?(:debug) do
Logger.debug(message, metadata)
end
end
@doc """
Log at info level if configured log level allows it.
"""
def info(message, metadata \\ []) do
if should_log?(:info) do
Logger.info(message, metadata)
end
end
@doc """
Log at warning level if configured log level allows it.
"""
def warning(message, metadata \\ []) do
if should_log?(:warning) do
Logger.warning(message, metadata)
end
end
@doc """
Log at error level if configured log level allows it.
"""
def error(message, metadata \\ []) do
if should_log?(:error) do
Logger.error(message, metadata)
end
end
@doc """
Check if logging at the given level is enabled.
"""
def should_log?(level) do
configured_level = Application.get_env(:snakepit, :log_level, :info)
case configured_level do
:none -> false
:error -> level == :error
:warning -> level in [:error, :warning]
:info -> level in [:error, :warning, :info]
:debug -> true
# Default to :info
_ -> level in [:error, :warning, :info]
end
end
end