9 static const char rcsid[] __attribute__((used)) =
"$Id: VerboseLogFormat.cpp 1653 2016-02-28 19:54:59Z sella $";
11 #include "VerboseLogFormat.h"
13 #include "../Exception.h"
21 #define BUFFER_SIZE (64 * 1024)
23 using namespace sella::util;
25 VerboseLogFormat::VerboseLogFormat(
const std::string &stamp,
bool micro)
throw () :
LogFormat(stamp, micro) { }
31 const std::string VerboseLogFormat::format(
int priority,
const char *stamp,
const char *func,
const char *file,
int line,
const sella::Exception &e,
const char *message)
throw () {
32 char buffer[BUFFER_SIZE];
34 if (message == NULL || message[0] ==
'\0') {
35 snprintf(buffer,
sizeof(buffer),
"%s <%s> %s [%s:%d %s] <- [%s:%d %s]", stamp, Log::priority(priority), e.what(), file, line, func, e.getFile().c_str(), e.getLine(), e.getFunction().c_str());
37 snprintf(buffer,
sizeof(buffer),
"%s <%s> %s - %s [%s:%d %s] <- [%s:%d %s]", stamp, Log::priority(priority), message, e.what(), file, line, func, e.getFile().c_str(), e.getLine(), e.getFunction().c_str());
40 return std::string(buffer);
43 const std::string VerboseLogFormat::format(
int priority,
const char *stamp,
const char *func,
const char *file,
int line,
const char *message)
throw () {
44 char buffer[BUFFER_SIZE];
46 snprintf(buffer,
sizeof(buffer),
"%s <%s> %s [%s:%d %s]", stamp, Log::priority(priority), message, file, line, func);
48 return std::string(buffer);
51 const std::string VerboseLogFormat::format(
int priority,
const char *stamp,
const char *func,
const char *file,
int line,
const char *option,
const char *message)
throw () {
52 char buffer[BUFFER_SIZE];
54 snprintf(buffer,
sizeof(buffer),
"%s <%s> %s [%s:%d %s] {%s}", stamp, Log::priority(priority), message, file, line, func, option);
56 return std::string(buffer);