Skip to content

Loki ​

LokiSink pushes log entries to Grafana Loki via HTTP. No extra dependencies - uses urllib.request from the standard library.

Installation ​

No additional dependencies required. This integration uses Python's standard library.

Usage ​

python
from logly import logger
from logly.integrations.loki import LokiSink

logger.add(
    LokiSink(
        "http://localhost:3100/loki/api/v1/push",
        labels={"app": "myapp", "env": "production"},
    ),
    level="INFO",
)

Configuration ​

ParameterDefaultDescription
endpointhttp://localhost:3100/loki/api/v1/pushLoki push API URL
labels{"app": "logly"}Default labels for every stream
timeout5.0HTTP request timeout in seconds
usernameNoneOptional basic auth username
passwordNoneOptional basic auth password

Full Example ​

python
from logly import logger
from logly.integrations.loki import LokiSink

logger.add(
    LokiSink(
        endpoint="http://loki:3100/loki/api/v1/push",
        labels={"app": "myapi", "env": "production", "region": "us-east-1"},
        timeout=10.0,
        username="admin",
        password="secret",
    ),
    level="INFO",
)

logger.info("User signed in", user_id=123)
logger.error("Payment failed", order_id="abc-123")

Released under the MIT License.