33 #include <dolfin/common/timing.h> 34 #include <dolfin/common/MPI.h> 54 void log(std::string msg,
int log_level=INFO)
const;
57 void log_underline(std::string msg,
int log_level=INFO)
const;
60 void warning(std::string msg)
const;
63 void error(std::string msg)
const;
70 int mpi_rank=-1)
const;
74 std::string version_deprecated,
75 std::string message)
const;
78 void begin(std::string msg,
int log_level=INFO);
84 void progress (std::string title,
double p)
const;
109 std::tuple<double, double, double> elapsed);
129 std::tuple<std::size_t, double, double, double>
139 {
return _mpi_comm; }
145 void __debug(std::string msg)
const;
149 std::string
function, std::string check)
const;
154 void write(
int log_level, std::string msg)
const;
163 int _indentation_level;
166 std::ostream* logstream;
170 std::map<std::string, std::tuple<std::size_t, double, double, double>>
174 std::unique_ptr<std::thread> _thread_monitor_memory_usage;
177 long int _maximum_memory_usage;
180 static std::map<TimingType, std::string> _TimingType_descr;
Handling of error messages, logging and informational display.
Definition: Logger.h:43
void deprecation(std::string feature, std::string version_deprecated, std::string message) const
Issue deprecation warning for removed feature.
Definition: Logger.cpp:188
void set_log_level(int log_level)
Set log level.
Definition: Logger.cpp:256
Logger()
Constructor.
Definition: Logger.cpp:95
void progress(std::string title, double p) const
Draw progress bar.
Definition: Logger.cpp:224
void register_timing(std::string task, std::tuple< double, double, double > elapsed)
Register timing (for later summary)
Definition: Logger.cpp:266
void set_output_stream(std::ostream &stream)
Set output stream.
Definition: Logger.cpp:246
int get_log_level() const
Get log level.
Definition: Logger.h:102
void begin(std::string msg, int log_level=INFO)
Begin task (increase indentation level)
Definition: Logger.cpp:212
void dolfin_error(std::string location, std::string task, std::string reason, int mpi_rank=-1) const
Definition: Logger.cpp:142
void end()
End task (decrease indentation level)
Definition: Logger.cpp:219
void dump_timings_to_xml(std::string filename, TimingClear clear)
Definition: Logger.cpp:317
~Logger()
Destructor.
Definition: Logger.cpp:102
bool is_active()
Return true iff logging is active.
Definition: Logger.h:96
void log_underline(std::string msg, int log_level=INFO) const
Print underlined message.
Definition: Logger.cpp:114
std::ostream & get_output_stream()
Get output stream.
Definition: Logger.h:90
MPI_Comm mpi_comm()
Return MPI Communicator of Logger.
Definition: Logger.h:138
void log(std::string msg, int log_level=INFO) const
Print message.
Definition: Logger.cpp:109
std::tuple< std::size_t, double, double, double > timing(std::string task, TimingClear clear)
Definition: Logger.cpp:371
void error(std::string msg) const
Print error message and throw exception.
Definition: Logger.cpp:136
void set_indentation_level(std::size_t indentation_level)
Set indentation level.
Definition: Logger.cpp:261
Table timings(TimingClear clear, std::set< TimingType > type)
Definition: Logger.cpp:340
void __dolfin_assert(std::string file, unsigned long line, std::string function, std::string check) const
Helper function for dolfin_dolfin_assert macro.
Definition: Logger.cpp:429
void list_timings(TimingClear clear, std::set< TimingType > type)
Definition: Logger.cpp:297
void warning(std::string msg) const
Print warning.
Definition: Logger.cpp:130
void __debug(std::string msg) const
Helper function for dolfin_debug macro.
Definition: Logger.cpp:423
void _report_memory_usage(size_t num_mb)
Helper function for reporting memory usage.
Definition: Logger.cpp:414
void set_log_active(bool active)
Turn logging on or off.
Definition: Logger.cpp:251
void monitor_memory_usage()
Definition: Logger.cpp:393
TimingClear
Definition: timing.h:33