1
// Copyright (C) 2003-2007 Anders Logg.
2
// Licensed under the GNU LGPL Version 2.1.
4
// Thanks to Jim Tilander for many helpful hints.
6
// Modified by Ola Skavhaug, 2007.
8
// First added: 2003-03-13
9
// Last changed: 2007-05-15
14
#include "LogManager.h"
16
#include <dolfin/main/constants.h>
18
using namespace dolfin;
21
static char buffer[DOLFIN_LINELENGTH];
23
#define read(buffer, msg) \
25
va_start(aptr, msg); \
26
vsnprintf(buffer, DOLFIN_LINELENGTH, msg.c_str(), aptr); \
30
//-----------------------------------------------------------------------------
31
void dolfin::message(std::string msg, ...)
34
LogManager::logger.message(buffer);
36
//-----------------------------------------------------------------------------
37
void dolfin::message(int debug_level, std::string msg, ...)
40
LogManager::logger.message(buffer, debug_level);
42
//-----------------------------------------------------------------------------
43
void dolfin::warning(std::string msg, ...)
46
LogManager::logger.warning(buffer);
48
//-----------------------------------------------------------------------------
49
void dolfin::error(std::string msg, ...)
52
LogManager::logger.error(buffer);
54
//-----------------------------------------------------------------------------
55
void dolfin::begin(std::string msg, ...)
58
LogManager::logger.begin(buffer);
60
//-----------------------------------------------------------------------------
61
void dolfin::begin(int debug_level, std::string msg, ...)
64
LogManager::logger.begin(buffer, debug_level);
66
//-----------------------------------------------------------------------------
69
LogManager::logger.end();
71
//-----------------------------------------------------------------------------
72
void dolfin::__debug(std::string file, unsigned long line,
73
std::string function, std::string format, ...)
76
std::ostringstream ost;
77
ost << file << ":" << line << " in " << function << "()";
78
std::string msg = std::string(buffer) + " [at " + ost.str() + "]";
79
LogManager::logger.__debug(msg);
81
//-----------------------------------------------------------------------------
82
void dolfin::__dolfin_assert(std::string file, unsigned long line,
83
std::string function, std::string format, ...)
86
std::ostringstream ost;
87
ost << file << ":" << line << " in " << function << "()";
88
std::string msg = std::string(buffer) + " [at " + ost.str() + "]";
89
LogManager::logger.__assert(msg);
91
//-----------------------------------------------------------------------------