From: Marcin Siodelski Date: Thu, 22 Sep 2022 09:39:18 +0000 (+0200) Subject: [#2408] Improved logging in lease_cmds X-Git-Tag: Kea-2.3.1~35 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=6d2f4e014aaefdefd8cc05b6a096d4655db9e244;p=thirdparty%2Fkea.git [#2408] Improved logging in lease_cmds --- diff --git a/src/hooks/dhcp/lease_cmds/lease_cmds.cc b/src/hooks/dhcp/lease_cmds/lease_cmds.cc index 08b6fa4a27..2ccbd1fd85 100644 --- a/src/hooks/dhcp/lease_cmds/lease_cmds.cc +++ b/src/hooks/dhcp/lease_cmds/lease_cmds.cc @@ -713,6 +713,7 @@ LeaseCmdsImpl::leaseAddHandler(CalloutHandle& handle) { string txt = "malformed command"; stringstream resp; + string lease_address = "unknown"; try { extractCommand(handle); v4 = (cmd_name_ == "lease4-add"); @@ -726,14 +727,15 @@ LeaseCmdsImpl::leaseAddHandler(CalloutHandle& handle) { ConstSrvConfigPtr config = CfgMgr::instance().getCurrentCfg(); - Lease4Ptr lease4; - Lease6Ptr lease6; // This parameter is ignored for the commands adding the lease. bool force_create = false; + Lease4Ptr lease4; + Lease6Ptr lease6; if (v4) { Lease4Parser parser; lease4 = parser.parse(config, cmd_args_, force_create); if (lease4) { + lease_address = lease4->addr_.toText(); bool success; if (!MultiThreadingMgr::instance().getMode()) { // Not multi-threading. @@ -762,6 +764,7 @@ LeaseCmdsImpl::leaseAddHandler(CalloutHandle& handle) { Lease6Parser parser; lease6 = parser.parse(config, cmd_args_, force_create); if (lease6) { + lease_address = lease6->addr_.toText(); bool success; if (!MultiThreadingMgr::instance().getMode()) { // Not multi-threading. @@ -808,8 +811,9 @@ LeaseCmdsImpl::leaseAddHandler(CalloutHandle& handle) { return (1); } - LOG_INFO(lease_cmds_logger, - v4 ? LEASE_CMDS_ADD4 : LEASE_CMDS_ADD6).arg(txt); + LOG_DEBUG(lease_cmds_logger, LEASE_CMDS_DBG_COMMAND_DATA, + v4 ? LEASE_CMDS_ADD4 : LEASE_CMDS_ADD6) + .arg(lease_address); setSuccessResponse(handle, resp.str()); return (0); } @@ -1528,7 +1532,8 @@ LeaseCmdsImpl::lease4DelHandler(CalloutHandle& handle) { setErrorResponse(handle, ex.what()); return (1); } - LOG_INFO(lease_cmds_logger, LEASE_CMDS_DEL4).arg(txt); + LOG_DEBUG(lease_cmds_logger, LEASE_CMDS_DBG_COMMAND_DATA, LEASE_CMDS_DEL4) + .arg(lease4->addr_.toText()); return (0); } @@ -1730,6 +1735,10 @@ LeaseCmdsImpl::lease6BulkApplyHandler(CalloutHandle& handle) { CONTROL_RESULT_EMPTY, resp_text.str(), args); setResponse(handle, answer); + LOG_DEBUG(lease_cmds_logger, LEASE_CMDS_DBG_COMMAND_DATA, + LEASE_CMDS_BULK_APPLY6) + .arg(success_count); + } catch (const std::exception& ex) { // Unable to parse the command and similar issues. LOG_ERROR(lease_cmds_logger, LEASE_CMDS_BULK_APPLY6_FAILED) @@ -1739,7 +1748,7 @@ LeaseCmdsImpl::lease6BulkApplyHandler(CalloutHandle& handle) { return (CONTROL_RESULT_ERROR); } - return (CONTROL_RESULT_SUCCESS); + return (0); } int @@ -1811,7 +1820,8 @@ LeaseCmdsImpl::lease6DelHandler(CalloutHandle& handle) { return (1); } - LOG_INFO(lease_cmds_logger, LEASE_CMDS_DEL6).arg(txt); + LOG_DEBUG(lease_cmds_logger, LEASE_CMDS_DBG_COMMAND_DATA, LEASE_CMDS_DEL6) + .arg(lease6->addr_.toText()); return (0); } @@ -1860,7 +1870,9 @@ LeaseCmdsImpl::lease4UpdateHandler(CalloutHandle& handle) { } else { setSuccessResponse(handle, "IPv4 lease updated."); } - LOG_INFO(lease_cmds_logger, LEASE_CMDS_UPDATE4).arg(txt); + LOG_DEBUG(lease_cmds_logger, LEASE_CMDS_DBG_COMMAND_DATA, + LEASE_CMDS_UPDATE4) + .arg(lease4->addr_.toText()); } catch (const LeaseCmdsConflict& ex) { LOG_WARN(lease_cmds_logger, LEASE_CMDS_UPDATE4_CONFLICT) @@ -1925,7 +1937,9 @@ LeaseCmdsImpl::lease6UpdateHandler(CalloutHandle& handle) { } else { setSuccessResponse(handle, "IPv6 lease updated."); } - LOG_INFO(lease_cmds_logger, LEASE_CMDS_UPDATE6).arg(txt); + LOG_DEBUG(lease_cmds_logger, LEASE_CMDS_DBG_COMMAND_DATA, + LEASE_CMDS_UPDATE6) + .arg(lease6->addr_.toText()); } catch (const LeaseCmdsConflict& ex) { LOG_WARN(lease_cmds_logger, LEASE_CMDS_UPDATE6_CONFLICT) diff --git a/src/hooks/dhcp/lease_cmds/lease_cmds_log.cc b/src/hooks/dhcp/lease_cmds/lease_cmds_log.cc index 642bfb17c4..e3fb8ccf61 100644 --- a/src/hooks/dhcp/lease_cmds/lease_cmds_log.cc +++ b/src/hooks/dhcp/lease_cmds/lease_cmds_log.cc @@ -11,6 +11,8 @@ namespace isc { namespace lease_cmds { +extern const int LEASE_CMDS_DBG_COMMAND_DATA = isc::log::DBGLVL_COMMAND_DATA; + isc::log::Logger lease_cmds_logger("lease-cmds-hooks"); } diff --git a/src/hooks/dhcp/lease_cmds/lease_cmds_log.h b/src/hooks/dhcp/lease_cmds/lease_cmds_log.h index 56172b0feb..b8fe286f24 100644 --- a/src/hooks/dhcp/lease_cmds/lease_cmds_log.h +++ b/src/hooks/dhcp/lease_cmds/lease_cmds_log.h @@ -14,6 +14,9 @@ namespace isc { namespace lease_cmds { +/// @brief Logging level used to log successful commands. +extern const int LEASE_CMDS_DBG_COMMAND_DATA; + extern isc::log::Logger lease_cmds_logger; } // end of isc::lease_cmds diff --git a/src/hooks/dhcp/lease_cmds/lease_cmds_messages.cc b/src/hooks/dhcp/lease_cmds/lease_cmds_messages.cc index fbdf7841dd..36ff6dcdd9 100644 --- a/src/hooks/dhcp/lease_cmds/lease_cmds_messages.cc +++ b/src/hooks/dhcp/lease_cmds/lease_cmds_messages.cc @@ -10,6 +10,7 @@ extern const isc::log::MessageID LEASE_CMDS_ADD4_FAILED = "LEASE_CMDS_ADD4_FAILE extern const isc::log::MessageID LEASE_CMDS_ADD6 = "LEASE_CMDS_ADD6"; extern const isc::log::MessageID LEASE_CMDS_ADD6_CONFLICT = "LEASE_CMDS_ADD6_CONFLICT"; extern const isc::log::MessageID LEASE_CMDS_ADD6_FAILED = "LEASE_CMDS_ADD6_FAILED"; +extern const isc::log::MessageID LEASE_CMDS_BULK_APPLY6 = "LEASE_CMDS_BULK_APPLY6"; extern const isc::log::MessageID LEASE_CMDS_BULK_APPLY6_FAILED = "LEASE_CMDS_BULK_APPLY6_FAILED"; extern const isc::log::MessageID LEASE_CMDS_DEINIT_FAILED = "LEASE_CMDS_DEINIT_FAILED"; extern const isc::log::MessageID LEASE_CMDS_DEINIT_OK = "LEASE_CMDS_DEINIT_OK"; @@ -39,18 +40,19 @@ extern const isc::log::MessageID LEASE_CMDS_WIPE6_FAILED = "LEASE_CMDS_WIPE6_FAI namespace { const char* values[] = { - "LEASE_CMDS_ADD4", "lease4-add command successful (parameters: %1)", + "LEASE_CMDS_ADD4", "lease4-add command successful (address: %1)", "LEASE_CMDS_ADD4_CONFLICT", "lease4-add command failed due to conflict (parameters: %1, reason: %2)", "LEASE_CMDS_ADD4_FAILED", "lease4-add command failed (parameters: %1, reason: %2)", - "LEASE_CMDS_ADD6", "lease6-add command successful (parameters: %1)", + "LEASE_CMDS_ADD6", "lease6-add command successful (address: %1)", "LEASE_CMDS_ADD6_CONFLICT", "lease6-add command failed due to conflict (parameters: %1, reason: %2)", "LEASE_CMDS_ADD6_FAILED", "lease6-add command failed (parameters: %1, reason: %2)", + "LEASE_CMDS_BULK_APPLY6", "lease6-bulk-apply command successful (applied addresses count: %1)", "LEASE_CMDS_BULK_APPLY6_FAILED", "lease6-bulk-apply command failed (parameters: %1, reason: %2)", "LEASE_CMDS_DEINIT_FAILED", "unloading Lease Commands hooks library failed: %1", "LEASE_CMDS_DEINIT_OK", "unloading Lease Commands hooks library successful", - "LEASE_CMDS_DEL4", "lease4-del command successful (parameters: %1)", + "LEASE_CMDS_DEL4", "lease4-del command successful (address: %1)", "LEASE_CMDS_DEL4_FAILED", "lease4-del command failed (parameters: %1, reason: %2)", - "LEASE_CMDS_DEL6", "lease4-del command successful (parameters: %1)", + "LEASE_CMDS_DEL6", "lease4-del command successful (address: %1)", "LEASE_CMDS_DEL6_FAILED", "lease6-del command failed (parameters: %1, reason: %2)", "LEASE_CMDS_GET4_FAILED", "lease4-get command failed (parameters: %1, reason: %2)", "LEASE_CMDS_GET6_FAILED", "lease6-get command failed (parameters: %1, reason: %2)", @@ -60,10 +62,10 @@ const char* values[] = { "LEASE_CMDS_RESEND_DDNS4_FAILED", "lease4-resend-ddns command failed: %1", "LEASE_CMDS_RESEND_DDNS6", "lease6-resend-ddns command successful: %1", "LEASE_CMDS_RESEND_DDNS6_FAILED", "lease6-resend-ddns command failed: %1", - "LEASE_CMDS_UPDATE4", "lease4-update command successful (parameters: %1)", + "LEASE_CMDS_UPDATE4", "lease4-update command successful (address: %1)", "LEASE_CMDS_UPDATE4_CONFLICT", "lease4-update command failed due to conflict (parameters: %1, reason: %2)", "LEASE_CMDS_UPDATE4_FAILED", "lease4-update command failed (parameters: %1, reason: %2)", - "LEASE_CMDS_UPDATE6", "lease6-update command successful (parameters: %1)", + "LEASE_CMDS_UPDATE6", "lease6-update command successful (address: %1)", "LEASE_CMDS_UPDATE6_CONFLICT", "lease6-update command failed due to conflict (parameters: %1, reason: %2)", "LEASE_CMDS_UPDATE6_FAILED", "lease6-add command failed (parameters: %1, reason: %2)", "LEASE_CMDS_WIPE4", "lease4-wipe command successful (parameters: %1)", diff --git a/src/hooks/dhcp/lease_cmds/lease_cmds_messages.h b/src/hooks/dhcp/lease_cmds/lease_cmds_messages.h index 3470984316..2492c4e2e7 100644 --- a/src/hooks/dhcp/lease_cmds/lease_cmds_messages.h +++ b/src/hooks/dhcp/lease_cmds/lease_cmds_messages.h @@ -11,6 +11,7 @@ extern const isc::log::MessageID LEASE_CMDS_ADD4_FAILED; extern const isc::log::MessageID LEASE_CMDS_ADD6; extern const isc::log::MessageID LEASE_CMDS_ADD6_CONFLICT; extern const isc::log::MessageID LEASE_CMDS_ADD6_FAILED; +extern const isc::log::MessageID LEASE_CMDS_BULK_APPLY6; extern const isc::log::MessageID LEASE_CMDS_BULK_APPLY6_FAILED; extern const isc::log::MessageID LEASE_CMDS_DEINIT_FAILED; extern const isc::log::MessageID LEASE_CMDS_DEINIT_OK; diff --git a/src/hooks/dhcp/lease_cmds/lease_cmds_messages.mes b/src/hooks/dhcp/lease_cmds/lease_cmds_messages.mes index 7327f0171e..3b0858928c 100644 --- a/src/hooks/dhcp/lease_cmds/lease_cmds_messages.mes +++ b/src/hooks/dhcp/lease_cmds/lease_cmds_messages.mes @@ -1,8 +1,8 @@ # Copyright (C) 2017-2022 Internet Systems Consortium, Inc. ("ISC") -% LEASE_CMDS_ADD4 lease4-add command successful (parameters: %1) -The lease4-add command has been successful. Parameters of the host -added are logged. +% LEASE_CMDS_ADD4 lease4-add command successful (address: %1) +The lease4-add command has been successful. Lease IPv4 address +is logged. % LEASE_CMDS_ADD4_CONFLICT lease4-add command failed due to conflict (parameters: %1, reason: %2) The received lease4-add is well-formed and contains valid parameters but the @@ -13,9 +13,9 @@ or configuration. The reason for a conflict is logged in the message. The lease4-add command has failed. Both the reason as well as the parameters passed are logged. -% LEASE_CMDS_ADD6 lease6-add command successful (parameters: %1) -The lease6-add command has been successful. Parameters of the host -added are logged. +% LEASE_CMDS_ADD6 lease6-add command successful (address: %1) +The lease6-add command has been successful. Lease IPv6 address +is logged. % LEASE_CMDS_ADD6_CONFLICT lease6-add command failed due to conflict (parameters: %1, reason: %2) The received lease6-add is well-formed and contains valid parameters but the @@ -26,6 +26,10 @@ or configuration. The reason for a conflict is logged in the message. The lease6-add command has failed. Both the reason as well as the parameters passed are logged. +% LEASE_CMDS_BULK_APPLY6 lease6-bulk-apply command successful (applied addresses count: %1) +The lease6-bulk-apply command has been successful. The number of applied +addresses is logged. + % LEASE_CMDS_BULK_APPLY6_FAILED lease6-bulk-apply command failed (parameters: %1, reason: %2) The lease6-bulk-apply command has failed. Both the reason as well as the parameters passed are logged. @@ -39,17 +43,17 @@ the log message. This info message indicates that the Lease Commands hooks library has been removed successfully. -% LEASE_CMDS_DEL4 lease4-del command successful (parameters: %1) +% LEASE_CMDS_DEL4 lease4-del command successful (address: %1) The attempt to delete an IPv4 lease (lease4-del command) has been successful. -Parameters of the host removed are logged. +Lease IPv4 address is logged. % LEASE_CMDS_DEL4_FAILED lease4-del command failed (parameters: %1, reason: %2) The attempt to delete an IPv4 lease (lease4-del command) has failed. Both the reason as well as the parameters passed are logged. -% LEASE_CMDS_DEL6 lease4-del command successful (parameters: %1) +% LEASE_CMDS_DEL6 lease4-del command successful (address: %1) The attempt to delete an IPv4 lease (lease4-del command) has been successful. -Parameters of the host removed are logged. +Lease IPv6 address is logged. % LEASE_CMDS_DEL6_FAILED lease6-del command failed (parameters: %1, reason: %2) The attempt to delete an IPv6 lease (lease4-del command) has failed. Both the @@ -88,9 +92,9 @@ successfully queued for transmission to kea-dhcp-ddns. A request to update DNS for the requested IPv6 lease has failed. The reason for the failure is logged. -% LEASE_CMDS_UPDATE4 lease4-update command successful (parameters: %1) -The lease4-update command has been successful. Parameters of the updated -host are logged. +% LEASE_CMDS_UPDATE4 lease4-update command successful (address: %1) +The lease4-update command has been successful. Lease IPv4 address +is logged. % LEASE_CMDS_UPDATE4_CONFLICT lease4-update command failed due to conflict (parameters: %1, reason: %2) The received lease4-update is well-formed and contains valid parameters @@ -102,9 +106,9 @@ the message. The lease4-update command has failed. Both the reason as well as the parameters passed are logged. -% LEASE_CMDS_UPDATE6 lease6-update command successful (parameters: %1) -The lease6-update command has been successful. Parameters of the updated -host are logged. +% LEASE_CMDS_UPDATE6 lease6-update command successful (address: %1) +The lease6-update command has been successful. Lease IPv6 address +is logged. % LEASE_CMDS_UPDATE6_CONFLICT lease6-update command failed due to conflict (parameters: %1, reason: %2) The received lease6-update is well-formed and contains valid parameters