diff options
Diffstat (limited to 'src/lib/log/log_dbglevels.h')
-rw-r--r-- | src/lib/log/log_dbglevels.h | 83 |
1 files changed, 83 insertions, 0 deletions
diff --git a/src/lib/log/log_dbglevels.h b/src/lib/log/log_dbglevels.h new file mode 100644 index 0000000..2d449c7 --- /dev/null +++ b/src/lib/log/log_dbglevels.h @@ -0,0 +1,83 @@ +// Copyright (C) 2011-2021 Internet Systems Consortium, Inc. ("ISC") +// +// This Source Code Form is subject to the terms of the Mozilla Public +// License, v. 2.0. If a copy of the MPL was not distributed with this +// file, You can obtain one at http://mozilla.org/MPL/2.0/. + +#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 expectation 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 isc { +namespace log { + +/// 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. +extern const int DBGLVL_START_SHUT; + +/// This debug level is reserved for logging the exchange of messages/commands +/// between processes, including configuration messages. +extern const int DBGLVL_COMMAND; + +/// This debug level is reserved for logging the details of packet handling, such +/// as dropping the packet for various reasons. +extern const int DBGLVL_PKT_HANDLING; + +/// If the commands have associated data, this level is when they are printed. +/// This includes configuration messages. +extern const int DBGLVL_COMMAND_DATA; + +// The following constants are suggested values for common operations. +// Depending on the exact nature of the code, modules may or may not use these +// levels. + +/// Trace basic operations. +extern const int DBGLVL_TRACE_BASIC; + +/// Trace data associated with the basic operations. +extern const int DBGLVL_TRACE_BASIC_DATA; + +/// Trace detailed operations. +extern const int DBGLVL_TRACE_DETAIL; + +/// Trace data associated with detailed operations. +extern const int DBGLVL_TRACE_DETAIL_DATA; + +} // log namespace +} // isc namespace + +#endif // LOG_DBGLVLS_H |