1 // Copyright (C) 2011-2018 Internet Systems Consortium, Inc. ("ISC")
2 //
3 // This Source Code Form is subject to the terms of the Mozilla Public
4 // License, v. 2.0. If a copy of the MPL was not distributed with this
5 // file, You can obtain one at http://mozilla.org/MPL/2.0/.
6 
7 #ifndef DHCPSRV_LOG_H
8 #define DHCPSRV_LOG_H
9 
10 #include <dhcpsrv/dhcpsrv_messages.h>
11 #include <log/macros.h>
12 
13 namespace isc {
14 namespace dhcp {
15 
16 ///@{
17 /// \brief DHCP server library logging levels
18 ///
19 /// Defines the levels used to output debug messages in the DHCP server
20 /// library.  Note that higher numbers equate to more verbose (and detailed)
21 /// output.
22 
23 /// @brief Traces normal operations
24 ///
25 /// E.g. sending a query to the database etc.
26 extern const int DHCPSRV_DBG_TRACE;
27 
28 /// @brief Records the results of the lookups
29 ///
30 /// Using the example of tracing queries from the backend database, this will
31 /// just record the summary results.
32 extern const int DHCPSRV_DBG_RESULTS;
33 
34 /// @brief Additional information
35 ///
36 /// Record detailed tracing. This is generally reserved for tracing access to
37 /// the lease database.
38 extern const int DHCPSRV_DBG_TRACE_DETAIL;
39 
40 /// @brief Additional information
41 ///
42 /// Record detailed (and verbose) data on the server.
43 extern const int DHCPSRV_DBG_TRACE_DETAIL_DATA;
44 
45 // Trace hook related operations
46 extern const int DHCPSRV_DBG_HOOKS;
47 
48 ///@}
49 
50 
51 /// \brief DHCP server library Logger
52 ///
53 /// Define the logger used to log messages.  We could define it in multiple
54 /// modules, but defining in a single module and linking to it saves time and
55 /// space.
56 extern isc::log::Logger dhcpsrv_logger;
57 
58 } // namespace dhcp
59 } // namespace isc
60 
61 #endif // DHCPSRV_LOG_H
62