Logs

Tier: Ultimate Offering: GitLab.com, Self-managed Status: Beta
History
  • Introduced in GitLab 16.10 with a flag named observability_logs. Disabled by default. This feature is in beta.
  • Feature flag changed in GitLab 17.3 to the observability_features feature flag, disabled by default. The previous feature flag (observability_logs) was removed.
  • Introduced for self-managed in GitLab 17.3.
The availability of this feature is controlled by a feature flag. For more information, see the history. This feature is available for testing, but not ready for production use.

GitLab supports centralized application and infrastructure logs collection, storage, and analysis. GitLab Logging provides insight about the operational health of monitored systems. Use logs to learn more about your systems and applications in a given range of time.

Logs ingestion limits

Logs ingest a maximum of 102,400 bytes per minute. When the limit is exceeded, a 429 Too Many Requests response is returned.

To request a limit increase to 1,048,576 bytes per minute, contact GitLab support.

Configure logging

Configure logging to enable it for a project.

Prerequisites:

  • You must have at least the Maintainer role for the project.
  1. Create an access token:
    1. On the left sidebar, select Search or go to and find your project.
    2. Select Settings > Access tokens.
    3. Create an access token with the api scope and Developer role or greater. Save the access token value for later.
  2. To configure your application to send GitLab logs, set the following environment variables:

    OTEL_EXPORTER = "otlphttp"
    OTEL_EXPORTER_OTLP_ENDPOINT = "https://gitlab.example.com/api/v4/projects/<gitlab-project-id>/observability/"
    OTEL_EXPORTER_OTLP_HEADERS = "PRIVATE-TOKEN=<gitlab-access-token>"
    

    Use the following values:

    • gitlab.example.com - The hostname for your self-managed instance, or gitlab.com
    • gitlab-project-id - The project ID
    • gitlab-access-token - The access token you created

Logs are configured for your project. When you run your application, the OpenTelemetry exporter sends logs to GitLab.

View logs

You can view the logs for a given project:

  1. On the left sidebar, select Search or go to and find your project.
  2. Select Monitor > Logs.

A list of logs is displayed. Currently log date, level, service, and message are supported. Select a log line to view its details.

You can either filter logs by attribute or query log strings with the search bar. The log volume chart at the top shows the number of logs ingested over the given time period.

list of logs

View logs details

It is also possible to see log line details such as metadata and resource attributes.

logs details

Create an issue for a log

You can create an issue to track any action taken to resolve or investigate a log. To create an issue for a log:

  1. On the left sidebar, select Search or go to and find your project.
  2. Select Monitor > Logs.
  3. From the list of logs, select a log.
  4. In the details drawer, select Create issue.

The issue is created in the selected project and pre-filled with information from the log. You can edit the issue title and description.

  1. On the left sidebar, select Search or go to and find your project.
  2. Select Monitor > Logs.
  3. From the list of logs, select a log.
  4. In the details drawer, scroll to Related issues.
  5. Optional. To view the issue details, select an issue.