added logging module and a sandbox project
This commit is contained in:
@@ -0,0 +1,49 @@
|
||||
#ifndef MATADOR_BASIC_FILE_SINK_HPP
|
||||
#define MATADOR_BASIC_FILE_SINK_HPP
|
||||
|
||||
#include "matador/logger/log_sink.hpp"
|
||||
|
||||
namespace matador::logger {
|
||||
|
||||
/**
|
||||
* @brief A base class for the file-stream-based sinks
|
||||
*
|
||||
* This class acts like a base class for all
|
||||
* concrete sinks working with a file stream to write
|
||||
* the log message.
|
||||
*/
|
||||
class basic_file_sink : public log_sink
|
||||
{
|
||||
protected:
|
||||
basic_file_sink() = default;
|
||||
|
||||
/**
|
||||
* Creates a basic_file_sink with a given file stream
|
||||
*
|
||||
* @param f File stream to write on
|
||||
*/
|
||||
explicit basic_file_sink(FILE *f);
|
||||
|
||||
public:
|
||||
/**
|
||||
* Writes the log message to the internal
|
||||
* file stream.
|
||||
*
|
||||
* @param message The message to write
|
||||
* @param size The size of the message
|
||||
*/
|
||||
void write(const char *message, size_t size) override;
|
||||
|
||||
/**
|
||||
* Closes the internal file stream.
|
||||
*/
|
||||
void close() override;
|
||||
|
||||
protected:
|
||||
/// @cond MATADOR_DEV
|
||||
FILE *stream = nullptr;
|
||||
/// @endcond
|
||||
};
|
||||
|
||||
}
|
||||
#endif //MATADOR_BASIC_FILE_SINK_HPP
|
||||
Reference in New Issue
Block a user