JustAnotherDnDGame 0.1.0
Jeu de rôle tactique au d20, vue de dessus, en C++/Qt
Loading...
Searching...
No Matches
core::FileLogSink Class Reference

Sink qui écrit chaque message dans un fichier, ligne par ligne. More...

#include <FileLogSink.h>

Inheritance diagram for core::FileLogSink:
core::ILogSink

Public Member Functions

 FileLogSink (std::filesystem::path path, bool append=false)
 Ouvre (ou crée) le fichier de destination en écriture.
void write (LogLevel level, std::string_view message) override
 Restitue un message.
bool isOpen () const
Public Member Functions inherited from core::ILogSink
virtual ~ILogSink ()=default

Private Attributes

std::ofstream _stream

Detailed Description

Sink qui écrit chaque message dans un fichier, ligne par ligne.

Flush immédiat à chaque message (comme ConsoleLogSink) : un arrêt brutal du processus (crash, std::abort() déclenché par JADG_ASSERT) ne perd pas les dernières lignes écrites avant l'incident — c'est la raison d'être principale de ce sink par rapport à MemoryLogSink (perdu à la fermeture) ou à un export manuel.

Constructor & Destructor Documentation

◆ FileLogSink()

core::FileLogSink::FileLogSink ( std::filesystem::path path,
bool append = false )
explicit

Ouvre (ou crée) le fichier de destination en écriture.

Parameters
pathChemin du fichier ; les dossiers parents sont créés au besoin.
appendSi vrai, ajoute à la suite d'un fichier existant plutôt que de l'écraser.

Member Function Documentation

◆ isOpen()

bool core::FileLogSink::isOpen ( ) const
nodiscard
Returns
true si le fichier a pu être ouvert (sinon, write() est un no-op silencieux : journaliser ne doit jamais faire échouer l'appelant).

◆ write()

void core::FileLogSink::write ( LogLevel level,
std::string_view message )
overridevirtual

Restitue un message.

Parameters
levelNiveau du message.
messageTexte du message (déjà formaté par l'appelant le cas échéant).

Implements core::ILogSink.

Member Data Documentation

◆ _stream

std::ofstream core::FileLogSink::_stream
private

The documentation for this class was generated from the following files:
  • /home/runner/work/JustAnotherDnDGame/JustAnotherDnDGame/Source/Core/Diagnostics/FileLogSink.h
  • /home/runner/work/JustAnotherDnDGame/JustAnotherDnDGame/Source/Core/Diagnostics/FileLogSink.cpp