monolish  0.14.0
MONOlithic LIner equation Solvers for Highly-parallel architecture
Public Member Functions | Static Public Member Functions | Public Attributes | Private Member Functions | Private Attributes | List of all members
monolish::Logger Class Reference

logger class (singleton, for developper class) More...

#include <monolish_logger.hpp>

Collaboration diagram for monolish::Logger:
Collaboration graph

Public Member Functions

void func_in (const std::string func_name)
 
void func_out ()
 
 Logger (const Logger &)=delete
 
 Logger (Logger &&)=delete
 
Loggeroperator= (const Logger &)=delete
 
Loggeroperator= (Logger &&)=delete
 
void set_log_filename (const std::string file)
 Specifying the log finename. More...
 
void set_log_level (size_t L)
 Specifying the log level. More...
 
void solver_in (const std::string func_name)
 
void solver_out ()
 
void util_in (const std::string func_name)
 
void util_out ()
 

Static Public Member Functions

static Loggerget_instance ()
 

Public Attributes

size_t LogLevel = 0
 

Private Member Functions

 Logger ()=default
 
 ~Logger ()
 

Private Attributes

std::vector< std::string > calls
 
std::string filename
 
std::ostream * pStream
 
std::vector< std::chrono::system_clock::time_point > times
 

Detailed Description

logger class (singleton, for developper class)

Definition at line 19 of file monolish_logger.hpp.

Constructor & Destructor Documentation

◆ Logger() [1/3]

monolish::Logger::Logger ( )
privatedefault

◆ ~Logger()

monolish::Logger::~Logger ( )
inlineprivate

Definition at line 23 of file monolish_logger.hpp.

◆ Logger() [2/3]

monolish::Logger::Logger ( const Logger )
delete

◆ Logger() [3/3]

monolish::Logger::Logger ( Logger &&  )
delete

Member Function Documentation

◆ func_in()

void monolish::Logger::func_in ( const std::string  func_name)

Definition at line 69 of file logger_utils.cpp.

Here is the caller graph for this function:

◆ func_out()

void monolish::Logger::func_out ( )

Definition at line 80 of file logger_utils.cpp.

Here is the caller graph for this function:

◆ get_instance()

static Logger& monolish::Logger::get_instance ( )
inlinestatic

Definition at line 42 of file monolish_logger.hpp.

◆ operator=() [1/2]

Logger& monolish::Logger::operator= ( const Logger )
delete

◆ operator=() [2/2]

Logger& monolish::Logger::operator= ( Logger &&  )
delete

◆ set_log_filename()

void monolish::Logger::set_log_filename ( const std::string  file)
inline

Specifying the log finename.

Parameters
filethe log filename

see also monolish::util::set_log_filename()

Definition at line 70 of file monolish_logger.hpp.

Here is the caller graph for this function:

◆ set_log_level()

void monolish::Logger::set_log_level ( size_t  L)
inline

Specifying the log level.

Parameters
Lloglevel
Note
loglevel is
  1. logging solvers (CG, Jacobi, LU...etc.)
  2. logging solvers and BLAS functions (matmul, matvec, arithmetic operators..etc.)
  3. logging solvers and BLAS functions and utils (send, recv, allocation...etc.)

see also monolish::util::set_log_level()

Definition at line 58 of file monolish_logger.hpp.

Here is the caller graph for this function:

◆ solver_in()

void monolish::Logger::solver_in ( const std::string  func_name)

Definition at line 7 of file logger_utils.cpp.

Here is the caller graph for this function:

◆ solver_out()

void monolish::Logger::solver_out ( )

Definition at line 35 of file logger_utils.cpp.

Here is the caller graph for this function:

◆ util_in()

void monolish::Logger::util_in ( const std::string  func_name)

Definition at line 113 of file logger_utils.cpp.

◆ util_out()

void monolish::Logger::util_out ( )

Definition at line 123 of file logger_utils.cpp.

Member Data Documentation

◆ calls

std::vector<std::string> monolish::Logger::calls
private

Definition at line 27 of file monolish_logger.hpp.

◆ filename

std::string monolish::Logger::filename
private

Definition at line 31 of file monolish_logger.hpp.

◆ LogLevel

size_t monolish::Logger::LogLevel = 0

Definition at line 35 of file monolish_logger.hpp.

◆ pStream

std::ostream* monolish::Logger::pStream
private

Definition at line 32 of file monolish_logger.hpp.

◆ times

std::vector<std::chrono::system_clock::time_point> monolish::Logger::times
private

Definition at line 30 of file monolish_logger.hpp.


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