import SetUpEndpoint from "/snippets/set-up-endpoint.mdx" import Prerequisites from "/snippets/standard-prerequisites.mdx"

This page explains how to send data from Loki to Axiom.

Configure Loki

In Loki, specify the following environment variables:

  • host or url is the target URL for the endpoint you have generated in Axiom by following the procedure above. For example, https://opbizplsf8klnw.ingress.axiom.co.
  • Optional: Use labels or tags to specify labels or tags for your app.

Examples

Send logs from Loki using JavaScript

const { createLogger, transports, format, } = require("winston");
const LokiTransport = require("winston-loki");
 
let logger;
 
const initializeLogger = () => {
  if (logger) {
    return;
  }
 
  logger = createLogger({
    transports: [
      new LokiTransport({
        host: "$LOKI_ENDPOINT_URL",
        labels: { app: "axiom-loki-endpoint" },
        json: true,
        format: format.json(),
        replaceTimestamp: true,
        onConnectionError: (err) => console.error(err),
      }),
      new transports.Console({
        format: format.combine(format.simple(), format.colorize()),
      }),
    ],
  });
};
 
initializeLogger()
logger.info("Starting app...");

Send logs from Loki using Python

import logging
import logging_loki
 
# Create a handler
handler = logging_loki.LokiHandler(
    url='$LOKI_ENDPOINT_URL',
    tags={'app': 'axiom-loki-py-endpoint'},
    version='1',
)
 
# Create a logger
logger = logging.getLogger('loki')
 
# Add the handler to the logger
logger.addHandler(handler)
 
# Log some messages
logger.info('Hello, world from Python!')
logger.warning('This is a warning')
logger.error('This is an error')

Good afternoon

I'm here to help you with the docs.

I
AIBased on your context