28 LoggerFile() =
default;
29 ~LoggerFile()
override {
shutdown(); }
33 void write(
LogLevel level,
const char * line,
size_t len)
override;
34 const char *
name()
const override {
return "File"; }
37 FILE * file =
nullptr;
39 uint32_t flushEveryNWrites = 16;
40 uint32_t writesSinceFlush = 0;
void shutdown() override
Releases whatever init() acquired.
const char * name() const override
Short identifier for diagnostics (eg. "UDP", "File").
void write(LogLevel level, const char *line, size_t len) override
Writes one already-formatted, newline-terminated line.
bool init(const LogConfig &config) override
Opens whatever handle/socket/file this backend needs, using only fields from config (nothing hardcode...
Abstract backend a Logger fans a formatted line out to.
LogLevel
Severity of a single log call.
LogFlushPolicy
How LoggerFile flushes writes to storage.
@ Immediate
fflush() after every write - safest against a crash/power loss, slowest
Full runtime configuration for the Logger.