Logger System 0.1.3
High-performance C++20 thread-safe logging system with asynchronous capabilities
Loading...
Searching...
No Matches
critical_writer.h File Reference

Synchronous wrapper for critical log messages to prevent loss. More...

#include "base_writer.h"
#include "../interfaces/writer_category.h"
#include <kcenon/logger/logger_export.h>
#include <atomic>
#include <memory>
#include <mutex>
#include <fstream>
#include <functional>
Include dependency graph for critical_writer.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  kcenon::logger::critical_writer_config
 Configuration for critical log writer. More...
 
class  kcenon::logger::critical_writer
 Synchronous wrapper ensuring critical logs are never lost. More...
 
struct  kcenon::logger::critical_writer::critical_stats
 Get statistics about critical writes. More...
 
class  kcenon::logger::hybrid_writer
 Combines async writer for normal logs with critical_writer for safety. More...
 

Namespaces

namespace  kcenon
 
namespace  kcenon::logger
 

Detailed Description

Synchronous wrapper for critical log messages to prevent loss.

Author
kcenon
Since
1.1.0

This writer ensures critical logs are immediately written to disk and flushed, preventing message loss during crashes or abnormal termination. It wraps any base_writer and forces synchronous operation for critical/fatal messages while allowing async operation for lower severity levels.

Key Features:

  • Immediate flush for critical/fatal messages (no queuing)
  • Signal handler registration for graceful shutdown
  • Dual-mode operation: sync for critical, async for others
  • Write-ahead logging option for maximum durability
  • Crash recovery support

Definition in file critical_writer.h.