Go to the documentation of this file.
40#ifdef __MPI_PARALLEL_MODE
46#define LOG_ERR_HEADER "_______________________________________________________"
47#define LOG_ERR_TAIL "_______________________________________________________\a\n"
60#ifdef __MPI_PARALLEL_MODE
76Logger :: appendLogTo(
const std :: string &fname)
80 stream = freopen(fname.c_str(),
"a", this->logStream);
82 stream = fopen(fname.c_str(),
"a");
85 if ( stream == NULL ) {
95Logger :: appendErrorTo(
const std :: string &fname)
99 stream = freopen(fname.c_str(),
"a", this->errStream);
101 stream = fopen(fname.c_str(),
"a");
104 if ( stream == NULL ) {
114Logger :: appendLogTo(FILE *stream)
120 if ( stream == NULL ) {
121 OOFEM_ERROR(
"Logger::appendLogTo : null stream given" );
130Logger :: appendErrorTo(FILE *stream)
136 if ( stream == NULL ) {
137 OOFEM_ERROR(
"Logger::appendLogTo : null stream given" );
152#ifdef __MPI_PARALLEL_MODE
153 MPI_Comm_rank(this->
comm, & rank);
171 va_start(args, format);
172 vfprintf(stream, format, args);
179Logger :: writeELogMsg(
logLevelType level,
const char *_func,
const char *_file,
int _line,
const char *format, ...)
199 va_start(args, format);
200 vfprintf(stream, format, args);
202 fprintf(stream,
"\n");
205 fprintf(stream,
"In %s ", _func );
209 fprintf(stream,
"(%s:%d)", _file, _line);
239Logger :: setLogLevel(
int level)
246#ifdef __MPI_PARALLEL_MODE
248Logger :: setComm(MPI_Comm
comm)
255Logger :: printStatistics()
259#ifdef __MPI_PARALLEL_MODE
260 MPI_Comm_rank(this->
comm, & rank);
264#ifdef __MPI_PARALLEL_MODE
265 MPI_Reduce(&
numberOfErr, & totalNumberOfErr, 1, MPI_INT, MPI_SUM, 0, this->
comm);
266 MPI_Reduce(&
numberOfWrn, & totalNumberOfWrn, 1, MPI_INT, MPI_SUM, 0, this->
comm);
270 fprintf(
logStream,
"Total %d error(s) and %d warning(s) reported\n", totalNumberOfErr, totalNumberOfWrn);
bool closeFlag
flag indicating whether to close mylogStream.
const char * giveLevelName(logLevelType l) const
logLevelType
Type defining basic log levels.
int numberOfWrn
Counter of all warning and error messages.
MPI_Comm comm
Parallell comm.
logLevelType logLevel
Current log level, messages with higher level are not reported.
FILE * logStream
Stream used for logging.
#define OOFEM_WARNING(...)
Logger oofem_logger(Logger ::LOG_LEVEL_INFO)
void print_stacktrace(FILE *out, int skip, unsigned int max_frames)
This page is part of the
OOFEM-3.0 documentation. Copyright Copyright (C) 1994-2025 Borek Patzak
Bořek Patzák
Project e-mail:
oofem@fsv.cvut.cz
Generated at for OOFEM by
doxygen
1.15.0 written by Dimitri van Heesch,
© 1997-2011