Handlers API
Handler classes for different output destinations.
RichColorLogHandler
- class RichColorLogHandler(RichHandler)
Rich-based handler with table layout and syntax highlighting.
- Parameters:
lexer (str, optional) – Pygments lexer name.
show_background (bool) – Enable background colors.
render_emoji (bool) – Render emoji characters.
show_icon (bool) – Show level icons.
icon_first (bool) – Place icon before timestamp.
theme (str) – Pygments syntax theme.
format_template (str, optional) – Custom format string.
level_in_message (bool) – Include level in message.
show_type (bool) – Show message type.
Inherits all parameters from Rich’s
RichHandler.Example:
from richcolorlog.logger import RichColorLogHandler handler = RichColorLogHandler( show_background=True, show_icon=True, icon_first=True, theme='monokai', ) logger = logging.getLogger('myapp') logger.addHandler(handler)
AnsiLogHandler
- class AnsiLogHandler(logging.StreamHandler)
ANSI escape code handler with icon support.
- Parameters:
lexer (str, optional) – Pygments lexer name.
show_background (bool) – Enable background colors.
format_template (str, optional) – Custom format string.
show_time (bool) – Show timestamp.
show_name (bool) – Show logger name.
show_pid (bool) – Show process ID.
show_level (bool) – Show log level.
show_path (bool) – Show file path.
show_icon (bool) – Show level icons.
icon_first (bool) – Place icon before timestamp.
level_in_message (bool) – Include level in message.
use_colors (bool) – Enable ANSI colors.
Example:
from richcolorlog.logger import AnsiLogHandler handler = AnsiLogHandler( show_background=True, show_icon=True, use_colors=True, )
RabbitMQHandler
- class RabbitMQHandler(logging.Handler)
Handler for sending logs to RabbitMQ.
- Parameters:
- emit(record)
Send log record to RabbitMQ with routing_key = level.
- close()
Close RabbitMQ connection.
Example:
from richcolorlog.logger import RabbitMQHandler handler = RabbitMQHandler( host='localhost', port=5672, exchange='app_logs', username='user', password='pass', )
KafkaHandler
- class KafkaHandler(logging.Handler)
Handler for sending logs to Apache Kafka.
- Parameters:
- emit(record)
Send log record to Kafka.
- close()
Close Kafka producer.
Example:
from richcolorlog.logger import KafkaHandler handler = KafkaHandler( host='localhost', port=9092, topic='app_logs', use_level_in_topic=True, )
ZeroMQHandler
- class ZeroMQHandler(logging.Handler)
Handler for sending logs via ZeroMQ.
- Parameters:
- emit(record)
Send log record via ZeroMQ.
- close()
Close ZeroMQ socket and context.
Example:
from richcolorlog.logger import ZeroMQHandler handler = ZeroMQHandler( host='localhost', port=5555, socket_type='PUB', )
SyslogHandler
- class SyslogHandler(logging.handlers.SysLogHandler)
Enhanced syslog handler with proper severity mapping.
- Parameters:
Example:
from richcolorlog.logger import SyslogHandler import logging.handlers handler = SyslogHandler( host='localhost', port=514, facility=logging.handlers.SysLogHandler.LOG_LOCAL0, )
DatabaseHandler
- class DatabaseHandler(logging.Handler)
Handler for storing logs in a database.
- Parameters:
- emit(record)
Store log record in database.
- close()
Close database connection.
Example:
from richcolorlog.logger import DatabaseHandler handler = DatabaseHandler( db_type='postgresql', host='localhost', port=5432, database='logs', user='logger', password='password', )