Cbeam
Loading...
Searching...
No Matches
logging_impl.hpp File Reference
#include <cbeam/concurrency/message_manager.hpp>
#include <cbeam/concurrency/thread.hpp>
#include <cbeam/convert/string.hpp>
#include <cassert>
#include <chrono>
#include <exception>
#include <filesystem>
#include <fstream>
#include <iostream>
#include <memory>
#include <mutex>
#include <string>
Include dependency graph for logging_impl.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  cbeam::logging::log
 The log class provides basic file-based logging functionality. More...
 

Namespaces

namespace  cbeam
 The root namespace for the Cbeam library. This namespace unifies cross-platform utilities for concurrency, memory management, file handling, logging, serialization, and more. Its purpose is to provide a cohesive collection of modern C++ components that address common system-level and application-level tasks, while promoting thread-safety, interprocess communication, and stable resource handling across varied platform APIs.
 
namespace  cbeam::concurrency
 Provides concurrency primitives and abstractions for multithreaded programming. It features the powerful message_manager class for managing asynchronous message queues with flexible ordering (FIFO, FILO, or RANDOM), as well as threaded_object, which uses CRTP to encapsulate worker-thread logic with built-in synchronization. These classes simplify threaded operations, interprocess synchronization, and message dispatch under varying concurrency scenarios.
 
namespace  cbeam::logging
 Offers flexible logging mechanisms to record messages with timestamps and thread information. The log_manager can create or reinitialize log files at runtime, appending text from multiple threads safely, while log handles file writes with concurrency considerations. Debug-logging macros are also provided for conditional compilation.