FinanceSim 0.1.0
Financial Simulation Library
Loading...
Searching...
No Matches
financesim::JsonWriter Class Reference

Writes events as JSON lines to a file. More...

#include <log_writer.hpp>

Inheritance diagram for financesim::JsonWriter:
[legend]
Collaboration diagram for financesim::JsonWriter:
[legend]

Public Member Functions

 JsonWriter (const std::string &filename)
 
 ~JsonWriter () override
 
void write (const Event &event, LogLevel level) override
 Write an event to the output.
 
void flush () override
 Flush any buffered output.
 
void close () override
 Close the writer and release resources.
 
- Public Member Functions inherited from financesim::LogWriter
virtual ~LogWriter ()=default
 

Private Attributes

std::ofstream file_
 
std::string filename_
 

Additional Inherited Members

- Protected Member Functions inherited from financesim::LogWriter
 LogWriter ()=default
 

Detailed Description

Writes events as JSON lines to a file.

Definition at line 43 of file log_writer.hpp.

Constructor & Destructor Documentation

◆ JsonWriter()

financesim::JsonWriter::JsonWriter ( const std::string &  filename)
explicit

Definition at line 32 of file log_writer.cpp.

References file_.

◆ ~JsonWriter()

financesim::JsonWriter::~JsonWriter ( )
override

Definition at line 40 of file log_writer.cpp.

References close().

Here is the call graph for this function:

Member Function Documentation

◆ close()

void financesim::JsonWriter::close ( )
overridevirtual

Close the writer and release resources.

Implements financesim::LogWriter.

Definition at line 117 of file log_writer.cpp.

References file_.

Referenced by ~JsonWriter().

Here is the caller graph for this function:

◆ flush()

void financesim::JsonWriter::flush ( )
overridevirtual

Flush any buffered output.

Implements financesim::LogWriter.

Definition at line 111 of file log_writer.cpp.

References file_.

◆ write()

void financesim::JsonWriter::write ( const Event event,
LogLevel  level 
)
overridevirtual

Write an event to the output.

Implements financesim::LogWriter.

Definition at line 69 of file log_writer.cpp.

References file_, financesim::log_level_to_string(), and financesim::Event::source_id().

Here is the call graph for this function:

Member Data Documentation

◆ file_

std::ofstream financesim::JsonWriter::file_
private

Definition at line 53 of file log_writer.hpp.

Referenced by close(), flush(), JsonWriter(), and write().

◆ filename_

std::string financesim::JsonWriter::filename_
private

Definition at line 54 of file log_writer.hpp.


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