8std::string
env_or(
const char* name,
const char* fallback) {
9 const char* value = std::getenv(name);
10 return (value && *value) ? std::string(value) : std::string(fallback);
16#ifndef LOGIT_WITH_OTLP
18 LOGIT_WARN(
"OTLP example requires LOGIT_WITH_OTLP=ON");
23 config.
host =
env_or(
"LOGIT_OTLP_ENDPOINT",
"http://localhost:4318");
24 config.
path =
env_or(
"LOGIT_OTLP_PATH",
"/v1/logs");
38#if defined(LOGIT_HAS_ZSTD)
41#elif defined(LOGIT_HAS_ZLIB)
50#ifdef LOGIT_WITH_CONTEXT
51 (
"[%l] trace=%K{trace_id} span=%K{span_id} %v")
57#ifdef LOGIT_WITH_CONTEXT
64 LOGIT_WARN(
"payment provider latency is above threshold");
67#ifdef LOGIT_WITH_CONTEXT
70 LOGIT_ERROR(
"order export failed; collector will count failed exports if HTTP fails");
74#ifdef LOGIT_WITH_CONTEXT
Exports logs to an OTLP/HTTP endpoint using kurlyk.
#define LOGIT_NDC_CLEAR()
#define LOGIT_MDC_PUT(key, value)
#define LOGIT_NDC_PUSH(value)
#define LOGIT_NDC_GUARD(value)
#define LOGIT_MDC_CLEAR()
#define LOGIT_ADD_CONSOLE_DEFAULT()
Macro for adding the default console logger.
#define LOGIT_WAIT()
Macro for waiting for all asynchronous loggers to finish processing.
#define LOGIT_SHUTDOWN()
Macro for shutting down logger system.
#define LOGIT_ADD_LOGGER(logger_type, logger_args, formatter_type, formatter_args)
Macro for adding a logger with a specific formatter.
Unified umbrella header for the LogIt++ library.
std::string env_or(const char *name, const char *fallback)
std::size_t max_in_flight_requests
OtlpCompression compression
OtlpJsonFormatConfig format
std::size_t max_queue_size
std::size_t max_batch_size