libe3 0.2.5
C++ library for E3AP RAN vendor integration
Loading...
Searching...
No Matches
logger.hpp File Reference

Logging facility for libe3. More...

#include <string>
#include <functional>
#include <memory>
#include <sstream>
#include <mutex>
#include <atomic>
#include <cstdio>
#include <cerrno>
#include <cstring>
#include <ctime>
#include <chrono>

Go to the source code of this file.

Classes

class  libe3::Logger
 Logger singleton class. More...
class  libe3::LogStream
 Log stream helper for efficient message construction. More...

Namespaces

namespace  libe3

Macros

#define E3_LOG(level, component)
#define E3_LOG_ERROR(component)
#define E3_LOG_WARN(component)
#define E3_LOG_INFO(component)
#define E3_LOG_DEBUG(component)
#define E3_LOG_TRACE(component)

Typedefs

using libe3::LogCallback = std::function<void(LogLevel level, const std::string& component, const std::string& message)>
 Log callback function type.

Enumerations

enum class  libe3::LogLevel : int {
  libe3::NONE = 0 , libe3::ERROR = 1 , libe3::WARN = 2 , libe3::INFO = 3 ,
  libe3::DEBUG = 4 , libe3::TRACE = 5
}
 Logging levels. More...

Detailed Description

Logging facility for libe3.

Provides a lightweight, thread-safe logging mechanism that can be configured at runtime. Supports integration with external logging frameworks through callbacks.

SPDX-FileCopyrightText: Copyright (c) 2026 Northeastern University SPDX-License-Identifier: Apache-2.0

Definition in file logger.hpp.

Macro Definition Documentation

◆ E3_LOG

#define E3_LOG ( level,
component )
Value:
if (::libe3::Logger::instance().should_log(level)) \
::libe3::LogStream(level, component)
static Logger & instance()
Get the singleton logger instance.
Definition logger.hpp:60

Definition at line 221 of file logger.hpp.

◆ E3_LOG_DEBUG

#define E3_LOG_DEBUG ( component)
Value:
#define E3_LOG(level, component)
Definition logger.hpp:221

Definition at line 228 of file logger.hpp.

◆ E3_LOG_ERROR

#define E3_LOG_ERROR ( component)
Value:

Definition at line 225 of file logger.hpp.

◆ E3_LOG_INFO

#define E3_LOG_INFO ( component)
Value:

Definition at line 227 of file logger.hpp.

◆ E3_LOG_TRACE

#define E3_LOG_TRACE ( component)
Value:

Definition at line 229 of file logger.hpp.

◆ E3_LOG_WARN

#define E3_LOG_WARN ( component)
Value:

Definition at line 226 of file logger.hpp.