12#ifdef ENABLE_LOGGER_CHECKS
24 const unsigned placeholder) {
25 const string mark(
"%" + lexical_cast<string>(placeholder));
26 size_t pos(message.find(mark));
27 if (pos != string::npos) {
29 message.replace(pos, mark.size(), arg);
30 pos = message.find(mark, pos + arg.size());
31 }
while (pos != string::npos);
33#ifdef ENABLE_LOGGER_CHECKS
36 << arg <<
"' in message '"
40 message.append(
" @@Missing logger placeholder '" + mark +
"' for value '" + arg +
"'@@");
47 unsigned int placeholder) {
48 const string mark(
"%" + lexical_cast<string>(placeholder));
49 const size_t pos(message.find(mark));
50 if (pos != string::npos) {
55#ifdef ENABLE_LOGGER_CHECKS
58 cerr <<
"Excess logger placeholder '" << mark <<
"' still exists in message '" << message
62 message.append(
" @@Excess logger placeholder '" + mark +
"' still exists@@");
#define isc_throw(type, stream)
A shortcut macro to insert known values into exception arguments.
void checkExcessPlaceholders(std::string &message, unsigned int placeholder)
Internal excess placeholder checker.
void replacePlaceholder(std::string &message, const string &arg, const unsigned placeholder)
The internal replacement routine.
Defines the logger used by the top-level component of kea-lfc.