JustAnotherDnDGame 0.1.0
Jeu de rôle tactique au d20, vue de dessus, en C++/Qt
Loading...
Searching...
No Matches
MemoryLogSink.h
Go to the documentation of this file.
1// SPDX-FileCopyrightText: 2026 Valentin Eloy
2// SPDX-License-Identifier: GPL-3.0-or-later
3
4#pragma once
5
6#include <string>
7#include <string_view>
8#include <vector>
9
12
17
18namespace core {
19
21class MemoryLogSink : public ILogSink {
22public:
24 struct Entry {
26 std::string message;
27 };
28
29 void write(LogLevel level, std::string_view message) override {
30 _entries.push_back(Entry{level, std::string(message)});
31 }
32
34 [[nodiscard]] const std::vector<Entry>& entries() const {
35 return _entries;
36 }
37
39 void clear() {
40 _entries.clear();
41 }
42
43private:
44 std::vector<Entry> _entries;
45};
46
47} // namespace core
Interface d'une destination de journalisation.
Niveaux de journalisation, par gravité croissante.
Destination vers laquelle un Logger diffuse ses messages.
Definition ILogSink.h:18
Sink de test : mémorise les messages reçus pour inspection.
Definition MemoryLogSink.h:21
const std::vector< Entry > & entries() const
Definition MemoryLogSink.h:34
void write(LogLevel level, std::string_view message) override
Restitue un message.
Definition MemoryLogSink.h:29
std::vector< Entry > _entries
Definition MemoryLogSink.h:44
void clear()
Vide les messages mémorisés.
Definition MemoryLogSink.h:39
Espace de noms du moteur et de la logique de jeu.
Definition Bootstrap.h:9
LogLevel
Niveau d'un message de journalisation (ordre croissant de gravité).
Definition LogLevel.h:14
Un message reçu (niveau + texte).
Definition MemoryLogSink.h:24
LogLevel level
Definition MemoryLogSink.h:25
std::string message
Definition MemoryLogSink.h:26