Commit 621c92d9 authored by Stephen Morris's avatar Stephen Morris

[1074] First pass at sorting out C++ devug levels

parent 5f9a52ab
......@@ -28,19 +28,19 @@ namespace auth {
/// output.
// Debug messages indicating normal startup are logged at this debug level.
const int DBG_AUTH_START = 10;
const int DBG_AUTH_START = DBGLVL_START_SHUT;
// Debug level used to log setting information (such as configuration changes).
const int DBG_AUTH_OPS = 30;
const int DBG_AUTH_OPS = DBGLVL_COMMAND;
// Trace detailed operations, including errors raised when processing invalid
// packets. (These are not logged at severities of WARN or higher for fear
// that a set of deliberately invalid packets set to the authoritative server
// could overwhelm the logging.)
const int DBG_AUTH_DETAIL = 50;
const int DBG_AUTH_DETAIL = DBGLVL_TRACE_BASIC;
// This level is used to log the contents of packets received and sent.
const int DBG_AUTH_MESSAGES = 70;
const int DBG_AUTH_MESSAGES = DBGLVL_TRACE_DETAIL_DATA;
/// Define the logger for the "auth" module part of b10-auth. We could define
/// a logger in each file, but we would want to define a common name to avoid
......
......@@ -23,20 +23,20 @@
/// Defines the levels used to output debug messages in the resolver. Note that
/// higher numbers equate to more verbose (and detailed) output.
// Initialization
const int RESOLVER_DBG_INIT = 10;
// Initialization and shutdown of the resolver.
const int RESOLVER_DBG_INIT = DBGLVL_START_SHUT;
// Configuration messages
const int RESOLVER_DBG_CONFIG = 30;
const int RESOLVER_DBG_CONFIG = DBGLVL_COMMAND;
// Trace sending and receiving of messages
const int RESOLVER_DBG_IO = 50;
const int RESOLVER_DBG_IO = DBGLVL_TRACE_BASIC;
// Trace processing of messages
const int RESOLVER_DBG_PROCESS = 70;
const int RESOLVER_DBG_PROCESS = DBGLVL_TRACE_DETAIL;
// Detailed message information
const int RESOLVER_DBG_DETAIL = 90;
const int RESOLVER_DBG_DETAIL = DBGLVL_TRACE_DETAIL_DATA;
/// \brief Resolver Logger
......
......@@ -61,17 +61,13 @@ namespace asiodns {
/// Use the ASIO logger
namespace {
isc::log::Logger logger("asiolink");
// Log debug verbosity
enum {
DBG_IMPORTANT = 1,
DBG_COMMON = 20,
DBG_ALL = 50
};
}
const int DBG_IMPORTANT = DBGLVL_TRACE_BASIC;
const int DBG_COMMON = DBGLVL_TRACE_DETAIL;
const int DBG_ALL = DBGLVL_TRACE_DETAIL + 20;
/// \brief IOFetch Data
///
......
......@@ -31,14 +31,13 @@ namespace cache {
/// \brief The logger for this library
extern isc::log::Logger logger;
enum {
/// \brief Trace basic operations
DBG_TRACE_BASIC = 10,
/// \brief Trace data operations
DBG_TRACE_DATA = 40,
};
}
}
/// \brief Trace basic operations
const int DBG_TRACE_BASIC = DBGLVL_TRACE_BASIC;
/// \brief Trace data operations
const int DBG_TRACE_DATA = DBGLVL_TRACE_BASIC_DATA;
} // namespace cache
} // namespace isc
#endif
......@@ -28,20 +28,19 @@
namespace isc {
namespace cc {
enum {
/// \brief Trace basic operation
DBG_TRACE_BASIC = 10,
/// \brief Trace even details
///
/// This includes messages being sent and received, waiting for messages
/// and alike.
DBG_TRACE_DETAILED = 80
};
/// Trace basic operation
const int DBG_TRACE_BASIC = DBGLVL_TRACE_BASIC;
/// \brief Logger for this library
/// This includes messages being sent and received, waiting for messages
/// and alike.
const int DBG_TRACE_DETAILED = DBGLVL_TRACE_DETAIL;
// Declaration of the logger.
extern isc::log::Logger logger;
}
}
} // namespace cc
} // namespace isc
/// \brief Logger for this library
#endif
......@@ -30,15 +30,10 @@ namespace config {
/// Define the logger used to log messages. We could define it in multiple
/// modules, but defining in a single module and linking to it saves time and
/// space.
extern isc::log::Logger config_logger; // isc::config::config_logger is the CONFIG logger
extern isc::log::Logger config_logger;
/// \brief Debug Levels
///
/// Debug levels used in the configuration library
enum {
DBG_CONFIG_PROCESS = 40 // Enumerate configuration elements as they
// ... are processed.
};
// Enumerate configuration elements as they are processed.
const int DBG_CONFIG_PROCESS = DBGLVL_TRACE_BASIC;
} // namespace config
} // namespace isc
......
......@@ -31,14 +31,14 @@ namespace datasrc {
/// \brief The logger for this library
extern isc::log::Logger logger;
enum {
/// \brief Trace basic operations
DBG_TRACE_BASIC = 10,
/// \brief Trace data changes and lookups as well
DBG_TRACE_DATA = 20,
/// \brief Detailed even about how the lookups happen
DBG_TRACE_DETAILED = 50
};
/// \brief Trace basic operations
const int DBG_TRACE_BASIC = DBGLVL_TRACE_BASIC;
/// \brief Trace data changes and lookups as well
const int DBG_TRACE_DATA = DBGLVL_TRACE_BASIC_DATA;
/// \brief Detailed even about how the lookups happen
const int DBG_TRACE_DETAILED = DBGLVL_TRACE_DETAIL;
}
}
......
......@@ -9,6 +9,7 @@ lib_LTLIBRARIES = liblog.la
liblog_la_SOURCES =
liblog_la_SOURCES += dummylog.h dummylog.cc
liblog_la_SOURCES += logimpl_messages.cc logimpl_messages.h
liblog_la_SOURCES += log_dbglevels.h
liblog_la_SOURCES += log_formatter.h log_formatter.cc
liblog_la_SOURCES += logger.cc logger.h
liblog_la_SOURCES += logger_impl.cc logger_impl.h
......@@ -21,8 +22,8 @@ liblog_la_SOURCES += logger_name.cc logger_name.h
liblog_la_SOURCES += logger_specification.h
liblog_la_SOURCES += logger_support.cc logger_support.h
liblog_la_SOURCES += logger_unittest_support.cc logger_unittest_support.h
liblog_la_SOURCES += macros.h
liblog_la_SOURCES += log_messages.cc log_messages.h
liblog_la_SOURCES += macros.h
liblog_la_SOURCES += message_dictionary.cc message_dictionary.h
liblog_la_SOURCES += message_exception.h
liblog_la_SOURCES += message_initializer.cc message_initializer.h
......
// Copyright (C) 2011 Internet Systems Consortium, Inc. ("ISC")
//
// Permission to use, copy, modify, and/or distribute this software for any
// purpose with or without fee is hereby granted, provided that the above
// copyright notice and this permission notice appear in all copies.
//
// THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH
// REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
// AND FITNESS. IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT,
// INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
// LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
// OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
// PERFORMANCE OF THIS SOFTWARE.
#ifndef __LOG_DBGLVLS_H
#define __LOG_DBGLVLS_H
/// \file
///
/// When a message is logged with DEBUG severity, the debug level associated
/// with the message is also specified. This debug level is a number
/// ranging from 0 to 99; the idea is that the higher the debug level, the
/// more detailed the message.
///
/// If debug messages are being logged, the logging system allows them to be
/// filtered by debug level - only messages logged with a level equal to or
/// less than the set debug level will be output. (For example, if the
/// filter is set to 30, only debug messages logged with levels in the range
/// 0 to 30 will be output; messages logged with levels 31 to 99 will be
/// suppressed.)
///
/// Levels of 30 or below are reserved for debug messages that are most
/// likely to be useful for an administrator. Levels 31 to 99 are for use by
/// someone familiar with the code. "Useful for an administrator" is,
/// admittedly, a subjective term: it is loosely defined as messages helping
/// someone diagnose a problem that they could solve without needing to dive
/// into the code. So it covers things like start-up steps and configuration
/// messages.
///
/// In practice, this means that levels of 30 and below are most-likely to
/// be used by the top-level programs, and 31 and above by the various
/// libraries.
///
/// This file defines a set of standard debug levels for use across all loggers.
/// In this way users can have some expection of what will be output when
/// enabling debugging. Symbols are prefixed DBGLVL so as not to clash with
/// DBG_ symbols in the various modules.
namespace {
/// Process startup/shutdown debug messages. Note that these are _debug_
/// messages, as other messages related to startup and shutdown may be output
/// with another severity. For example, when the authoritative server starts
/// up, the "server started" message could be output at a severity of INFO.
/// "Server starting" and messages indicating the stages in startup should be
/// debug messages output at this severity.
///
/// This is given a value of 0 as that is the level selected if debugging is
/// enabled without giving a level.
const int DBGLVL_START_SHUT = 0;
/// This debug level is reserved for logging the exchange of messages/commands
/// between processes, including configuration messages.
const int DBGLVL_COMMAND = 10;
/// If the commands have associated data, this level is when they are printed.
/// This includes configuration messages.
const int DBGLVL_COMMAND_DATA = 20;
// The following constants are suggested values for common operations.
// Depending on the exact nature of the code, modules may or may not used these
// levels.
/// Trace basic operations.
const int DBGLVL_TRACE_BASIC = 40;
/// Trace data associated with the basic operations.
const int DBGLVL_TRACE_BASIC_DATA = 45;
/// Trace detailed operations.
const int DBGLVL_TRACE_DETAIL = 50;
/// Trace data associated with detailed operations.
const int DBGLVL_TRACE_DETAIL_DATA = 55;
} // Anonymous namespace
#endif // __LOG_DBGLVLS_H
......@@ -16,6 +16,7 @@
#define __LOG_MACROS_H
#include <log/logger.h>
#include <log/log_dbglevels.h>
/// \brief Macro to conveniently test debug output and log it
#define LOG_DEBUG(LOGGER, LEVEL, MESSAGE) \
......
......@@ -29,15 +29,15 @@ namespace nsas {
// The first level traces normal operations - asking the NSAS for an address,
// and cancelling a lookup. It also records when the NSAS calls back to the
// resolver to resolve something.
const int NSAS_DBG_TRACE = 10;
const int NSAS_DBG_TRACE = DBGLVL_TRACE_BASIC;
// The next level extends the normal operations and records the results of the
// lookups.
const int NSAS_DBG_RESULTS = 20;
const int NSAS_DBG_RESULTS = DBGLVL_TRACE_BASIC_DATA;
// Additional information on the usage of the names - the RTT values obtained
// when queries were done.
const int NSAS_DBG_RTT = 30;
const int NSAS_DBG_RTT = DBGLVL_TRACE_DETAIL_DATA;
/// \brief NSAS Logger
......
......@@ -27,17 +27,17 @@ namespace resolve {
/// Note that higher numbers equate to more verbose (and detailed) output.
// The first level traces normal operations
const int RESLIB_DBG_TRACE = 10;
const int RESLIB_DBG_TRACE = DBGLVL_TRACE_BASIC;
// The next level extends the normal operations and records the results of the
// lookups.
const int RESLIB_DBG_RESULTS = 20;
const int RESLIB_DBG_RESULTS = DBGLVL_TRACE_BASIC_DATA;
// Report cache lookups and results
const int RESLIB_DBG_CACHE = 40;
const int RESLIB_DBG_CACHE = DBGLVL_TRACE_DETAIL_DATA;
// Indicate when callbacks are called
const int RESLIB_DBG_CB = 50;
const int RESLIB_DBG_CB = DBGLVL_TRACE_DETAIL_DATA + 10;
/// \brief Resolver Library Logger
......
......@@ -31,12 +31,11 @@ namespace server_common {
/// \brief The logger for this library
extern isc::log::Logger logger;
enum {
/// \brief Trace basic operations
DBG_TRACE_BASIC = 10,
/// \brief Print also values used
DBG_TRACE_VALUES = 40
};
/// \brief Trace basic operations
const int DBG_TRACE_BASIC = DBGLVL_TRACE_BASIC;
/// \brief Print also values used
const int DBG_TRACE_VALUES = DBGLVL_TRACE_BASIC_DATA;
}
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment