Skip to content

sjinks/opentelemetry_exporter_syslog_logs

This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.

Folders and files

NameName
Last commit message
Last commit date
Jan 29, 2025
Oct 4, 2024
Oct 4, 2024
Oct 4, 2024
Nov 16, 2024
Nov 16, 2024
Dec 20, 2024
Sep 20, 2024
Nov 7, 2024
Sep 20, 2024
Nov 7, 2024
Dec 20, 2024
Nov 16, 2024
Nov 16, 2024
Jan 26, 2025
Sep 21, 2024
Nov 7, 2024
Sep 21, 2024
Sep 23, 2024
Oct 4, 2024
Oct 4, 2024

Repository files navigation

opentelemetry_exporter_syslog_logs

Build and Test CodeQL Quality Gate Status

Exports OpenTelemetry log records to syslog.

Installation

cmake -B build
cmake --build build
cmake --install build

Dependencies: opentelemetry-cpp >= 1.11.0

Development Dependencies: Google Test with GMock (will be downloaded if not present)

CMake Options

Option Name Description Default Value
WITH_TESTING Whether to enable tests ON
INSTALL_SYSLOG_EXPORTER Whether to install the syslog exporter ON

Usage

find_package(wwa_opentelemetry_exporter_syslog_logs CONFIG REQUIRED)
target_link_libraries(
    my_target
    PRIVATE
        wwa::opentelemetry::syslog_log_record_exporter
)
#include <opentelemetry/logs/provider.h>
#include <opentelemetry/sdk/logs/logger_provider.h>
#include <opentelemetry/sdk/logs/simple_log_record_processor.h>
#include <opentelemetry/exporters/wwa/syslog/log_record_exporter_factory.h>

void init_logging()
{
    auto exporter = wwa::opentelemetry::exporter::logs::SyslogLogRecordExporterFactory::Create(
        "syslog-identifier"
    );

    auto processor = std::make_unique<opentelemetry::sdk::logs::SimpleLogRecordProcessor>(
        std::move(exporter)
    );

    auto provider = std::make_shared<opentelemetry::sdk::logs::LoggerProvider>(
        std::move(processor)
    );

    opentelemetry::logs::Provider::SetLoggerProvider(
        std::static_pointer_cast<opentelemetry::logs::LoggerProvider>(provider)
    );
}

See ci/CMakeLists.txt and ci/main.cpp for an example.