Zappy Server
C++ game server: world, rules, scheduler, network
Loading...
Searching...
No Matches
FileSink Class Reference

#include <FileSink.hpp>

+ Inheritance diagram for FileSink:
+ Collaboration diagram for FileSink:

Public Member Functions

 FileSink (const std::string &path, LogLevel minLevel=LogLevel::Debug)
 
void write (LogLevel level, const std::string &line) override
 Write one already-formatted line if level passes the sink's threshold.
 
- Public Member Functions inherited from ILogSink
virtual ~ILogSink ()=default
 

Static Public Member Functions

static std::unique_ptr< FileSinkforRun (const std::string &tag, LogLevel minLevel=LogLevel::Debug)
 

Private Attributes

std::ofstream _out
 
LogLevel _minLevel
 

Detailed Description

Appends log lines to a file (filtered by minimum level), flushing each write so the log survives a crash.

Definition at line 11 of file FileSink.hpp.

Constructor & Destructor Documentation

◆ FileSink()

FileSink::FileSink ( const std::string &  path,
LogLevel  minLevel = LogLevel::Debug 
)
explicit

Definition at line 8 of file FileSink.cpp.

Member Function Documentation

◆ forRun()

std::unique_ptr< FileSink > FileSink::forRun ( const std::string &  tag,
LogLevel  minLevel = LogLevel::Debug 
)
static

Sink writing to logs/ <tag>_<timestamp>.log (dir created best-effort), so concurrent and successive runs never clobber. tag e.g. "server_p4242".

Definition at line 13 of file FileSink.cpp.

Referenced by Server::Server().

+ Here is the caller graph for this function:

◆ write()

void FileSink::write ( LogLevel  level,
const std::string &  line 
)
overridevirtual

Write one already-formatted line if level passes the sink's threshold.

Implements ILogSink.

Definition at line 29 of file FileSink.cpp.

References _minLevel, and _out.

Member Data Documentation

◆ _minLevel

LogLevel FileSink::_minLevel
private

Definition at line 24 of file FileSink.hpp.

Referenced by write().

◆ _out

std::ofstream FileSink::_out
private

Definition at line 23 of file FileSink.hpp.

Referenced by write().


The documentation for this class was generated from the following files: