pygelf
Logging handlers with GELF support
Decision gist · record as of 2026-08-14
Yes, if you are already using Graylog and need Python logging integration. The package is stable, has no dependencies, and supports modern Python versions. However, maintenance is aging (last release 426 days ago), so verify that it works with your specific Graylog version and Python release before committing to production. No known security vulnerabilities.AI-flagged interpretation of the facts on this page — verify before relying
Before you install
- Requires a running GELF-compatible server (e.g., Graylog) listening on the specified host and port.
- Low friction to install; no runtime dependencies.
- Maintenance is aging—last release was 426 days ago, though the repository remains active with a recent commit on 2025-06-25 and modest community engagement (85 stars).
License · maintenance · safety
MIT (permissive) — MIT license is permissive, allowing use in commercial and proprietary projects with minimal restrictions beyond attribution.
last release 2025-06-14 (426 days) · last repo commit 2025-06-25 · 85 stars
0 known vulnerabilities (OSV.dev, 2026-08-14) · 388,303 downloads/mo, #7,036 on PyPI
Alternatives
Verify before relying
pip install pygelf
from pygelf import GelfTcpHandler
import logging
logger = logging.getLogger()
logger.addHandler(GelfTcpHandler(host='127.0.0.1', port=9401))
logger.info('hello gelf')- Whether the package works reliably with Python 3.13 or if 3.13 support is merely declared but untested.
- Current state of PyPy compatibility given the aging maintenance status.
What it is and what it does
pygelf is a Python logging library that bridges the standard logging module to Graylog servers by providing handlers that format and transmit logs in GELF format. It supports five transport protocols—TCP, UDP, TLS (encrypted TCP), HTTP, and HTTPS—allowing you to choose based on your network and security requirements. The library handles the GELF message structure automatically, including mandatory fields like version, timestamp, syslog-compliant log level, hostname, and optional stack traces for exceptions.
You integrate it by adding one or more handlers to your logger, specifying the target server's host and port. The package supports optional features like debug mode (which adds file, line, module, and function metadata), static and dynamic custom fields, environment variable injection, message compression, and TLS certificate validation. It has no external runtime dependencies, making it lightweight to add to existing Python projects.
Use it for
- Centralize logs from a Python application to a Graylog instance for aggregated monitoring and analysis.
- Send application logs over encrypted TLS to a remote Graylog server in a secure network environment.
- Add structured metadata (app name, request ID, user context) to each log entry for better searchability in Graylog.
- Route exception stack traces and debug information to Graylog for post-mortem analysis.
- Integrate logging into a Flask or Django application configuration file to send logs via HTTP to Graylog.
Worth the install?
AI-flagged interpretation of the facts on this page. Verify before relying on it.
Yes, if you are already using Graylog and need Python logging integration.
The package is stable, has no dependencies, and supports modern Python versions. However, maintenance is aging (last release 426 days ago), so verify that it works with your specific Graylog version and Python release before committing to production. No known security vulnerabilities.
Install
pygelf on PyPI
Before you install
Low friction to install; no runtime dependencies. Maintenance is aging—last release was 426 days ago, though the repository remains active with a recent commit on 2025-06-25 and modest community engagement (85 stars).
Requires a running GELF-compatible server (e.g., Graylog) listening on the specified host and port.
License in practice
MIT license is permissive, allowing use in commercial and proprietary projects with minimal restrictions beyond attribution.
Quickstart
pip install pygelf
from pygelf import GelfTcpHandler
import logging
logger = logging.getLogger()
logger.addHandler(GelfTcpHandler(host='127.0.0.1', port=9401))
logger.info('hello gelf')
Verify before relying
- Whether the package works reliably with Python 3.13 or if 3.13 support is merely declared but untested.
- Current state of PyPy compatibility given the aging maintenance status.
Package facts
| License | MIT permissive |
| Python support | Not specified |
| Install friction | Low. Pure-Python wheel |
| Runtime dependencies | None |
| Maintenance | Aging 426 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 388,303 / month, #7,036 on PyPI 30-day window, as of 2026-08-14 |
| Known vulnerabilities | None known OSV.dev, checked 2026-08-14 |
| Classifiers | Intended Audience :: DevelopersLicense :: OSI Approved :: MIT LicenseOperating System :: OS IndependentProgramming Language :: PythonProgramming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.12Programming Language :: Python :: 3.13Programming Language :: Python :: 3.9Programming Language :: Python :: Implementation :: CPythonProgramming Language :: Python :: Implementation :: PyPyTopic :: Software Development :: Libraries :: Python ModulesTopic :: System :: Logging |
Evidence: pygelf-0.4.3-py3-none-any.whl
Tags
Let your AI agent find packages like this
Example. Real query, live index.
You found this page by searching. An agent finds it by wishing: SkillFed indexes 14,416 PyPI packages by what they can do, searchable in plain language.
wish › “gelf protocol python”
- pygelfProvides Python logging handlers that send log messages to Graylog…
- graypyProvides Python logging handlers that format and send log messages to…
- langchain-protocolProvides Python type definitions (TypedDict, Literal) for the…
Give your agent the search over MCP, or paste the wish link into any chat.
More Python Modules packages
Converts domain names between Unicode and ASCII-compatible encoding (Punycode) according to IDNA 2008 and Unicode Technical Standard 46, with security validation and broader script coverage than the standard library.
Install it if you work with internationalized domain names, need to validate domains, or use HTTP clients that depend on it transitively.
Setuptools is a Python build backend and package management tool that handles building, distributing, and installing Python packages, including support for C/C++ extension modules.
PyYAML parses and emits YAML 1.1 data format, enabling serialization and deserialization of configuration files and Python objects to and from human-readable YAML text.
Pydantic validates Python data structures against type hints, coercing and checking input at runtime to ensure it matches a declared schema.
Provides reusable metadata objects for use with PEP-593 `typing.Annotated` to express common constraints like bounds, collection sizes, and predicates on types.
Install it if you use or build libraries that need to express type constraints in a standardized, inspectable way—or if you want to annotate your own types with…
Provides runtime tools to inspect and introspect Python type annotations, enabling programmatic examination of type hints at execution time.
See also graypy · rfc5424-logging-handler · python3-logstash · python-logstash · python-logging-loki · logzio-python-handler · loki-logger-handler · PyCampbellCR1000 · aws-logging-handlers · questdb