163 return *this << fmt::format(std::forward<T>(t)...);
229 Logger( type ).set_context( __FILE__, __func__, __LINE__)
231 #define MessageOut() \
232 _LOG( Logger::MsgType::message )
234 #define WarningOut() \
235 _LOG( Logger::MsgType::warning )
238 _LOG( Logger::MsgType::log )
241 _LOG( Logger::MsgType::debug )
Class for storing logger messages.
void print_file_header(std::ofstream &stream, std::stringstream &file_stream)
Print header to file stream, helper method called from print_to_file.
static StreamMask cout
Predefined mask of std::cout output.
std::stringstream cout_stream_
Store messages printed to cout output stream.
StreamMask streams_mask_
Mask of logger, specifies streams in actual time into which to be written.
StreamMask()
Empty constructor.
friend Logger & operator<<(Logger &log, const T &x)
Logger & set_context(const char *file_name, const char *function, const int line)
Stores values for printing out line number, function, etc.
std::stringstream cerr_stream_
Store messages printed to cerr output stream.
std::string function_
Actual function.
StreamMask operator|(const StreamMask &other)
Logger & fmt(T &&...t)
Allow use functionality of fmtlib for formating message.
StreamMask(int mask)
Constructor set mask_ value.
static const std::string msg_type_string(MsgType msg_type, bool full_format=true)
Return string value of given MsgType in full or shorter format (e.g. "WARNING" of "Wrn") ...
static StreamMask cerr
Predefined mask of std::cerr output.
void print_to_file(std::ofstream &stream, std::stringstream &file_stream, StreamMask mask)
Print formated message to given file stream if mask corresponds with streams_mask_.
static StreamMask log
Predefined mask of log file output.
StreamMask operator&(const StreamMask &other)
void print_to_screen(std::ostream &stream, std::stringstream &scr_stream, StreamMask mask)
Print formated message to given screen stream if mask corresponds with streams_mask_.
Helper class, store mask specifying streams.
std::string date_time_
Actual date and time.
bool every_process_
Flag marked if log message is printing for all processes or only for zero process.
STREAM & operator<<(STREAM &s, UpdateFlags u)
std::stringstream file_stream_
Store messages printed to file.
Logger & every_proc()
Set flag every_process_ to true.
StreamMask full_streams_mask_
Mask of logger, specifies all streams into which to be written in logger message. ...
bool print_screen_header(std::ostream &stream, std::stringstream &scr_stream)
Print header to screen stream, helper method called from print_to_screen.
std::string file_name_
Actual file.
int mpi_rank_
Actual process (if MPI is supported)
MsgType type_
Type of message.
void set_mask()
Set streams_mask_ according to the type of message.
Logger(MsgType type)
Constructor.
MsgType
Enum of types of Logger messages.