diff --git a/src/core/common/log.cpp b/src/core/common/log.cpp index 1809cd54b53..afddcfda0ad 100644 --- a/src/core/common/log.cpp +++ b/src/core/common/log.cpp @@ -136,6 +136,16 @@ void Logger::LogVarArgs(const char *aModuleName, LogLevel aLogLevel, const char return; } +#if OT_SHOULD_LOG_AT(OT_LOG_LEVEL_WARN) +void Logger::LogOnError(const char *aModuleName, Error aError, const char *aText) +{ + if (aError != kErrorNone) + { + LogAtLevel(aModuleName, "Failed to %s: %s", aText, ErrorToString(aError)); + } +} +#endif + #if OPENTHREAD_CONFIG_LOG_PKT_DUMP template diff --git a/src/core/common/log.hpp b/src/core/common/log.hpp index 47293e0b3b5..49f0416e6df 100644 --- a/src/core/common/log.hpp +++ b/src/core/common/log.hpp @@ -162,6 +162,22 @@ constexpr uint8_t kMaxLogModuleNameLength = 14; ///< Maximum module name length #define LogDebg(...) #endif +#if OT_SHOULD_LOG_AT(OT_LOG_LEVEL_WARN) +/** + * Emits an error log message at warning log level if there is an error. + * + * The emitted log will use the the following format "Failed to {aText}: {ErrorToString(aError)}", and will be emitted + * only if there is an error, i.e., @p aError is not `kErrorNone`. + * + * @param[in] aError The error to check and log. + * @param[in] aText The text to include in the log. + * + */ +#define LogWarnOnError(aError, aText) Logger::LogOnError(kLogModuleName, aError, aText) +#else +#define LogWarnOnError(aError, aText) +#endif + #if OT_SHOULD_LOG /** * Emits a log message at a given log level. @@ -316,6 +332,10 @@ class Logger static void LogVarArgs(const char *aModuleName, LogLevel aLogLevel, const char *aFormat, va_list aArgs); +#if OT_SHOULD_LOG_AT(OT_LOG_LEVEL_WARN) + static void LogOnError(const char *aModuleName, Error aError, const char *aText); +#endif + #if OPENTHREAD_CONFIG_LOG_PKT_DUMP static constexpr uint8_t kStringLineLength = 80; static constexpr uint8_t kDumpBytesPerLine = 16; diff --git a/src/core/meshcop/border_agent.cpp b/src/core/meshcop/border_agent.cpp index ad24427a635..24e7331d83f 100644 --- a/src/core/meshcop/border_agent.cpp +++ b/src/core/meshcop/border_agent.cpp @@ -128,7 +128,7 @@ void BorderAgent::SendErrorMessage(const ForwardContext &aForwardContext, Error exit: FreeMessageOnError(message, error); - LogError("send error CoAP message", error); + LogWarnOnError(error, "send error CoAP message"); } void BorderAgent::SendErrorMessage(const Coap::Message &aRequest, bool aSeparate, Error aError) @@ -158,7 +158,7 @@ void BorderAgent::SendErrorMessage(const Coap::Message &aRequest, bool aSeparate exit: FreeMessageOnError(message, error); - LogError("send error CoAP message", error); + LogWarnOnError(error, "send error CoAP message"); } Error BorderAgent::SendMessage(Coap::Message &aMessage) @@ -347,7 +347,7 @@ template <> void BorderAgent::HandleTmf(Coap::Message &aMessage, co exit: FreeMessageOnError(message, error); - LogError("send proxy stream", error); + LogWarnOnError(error, "send proxy stream"); } bool BorderAgent::HandleUdpReceive(void *aContext, const otMessage *aMessage, const otMessageInfo *aMessageInfo) @@ -398,7 +398,7 @@ bool BorderAgent::HandleUdpReceive(const Message &aMessage, const Ip6::MessageIn FreeMessageOnError(message, error); if (error != kErrorDestinationAddressFiltered) { - LogError("notify commissioner on ProxyRx (c/ur)", error); + LogWarnOnError(error, "notify commissioner on ProxyRx (c/ur)"); } return error != kErrorDestinationAddressFiltered; @@ -436,7 +436,7 @@ Error BorderAgent::ForwardToCommissioner(Coap::Message &aForwardMessage, const M LogInfo("Sent to commissioner"); exit: - LogError("send to commissioner", error); + LogWarnOnError(error, "send to commissioner"); return error; } @@ -520,7 +520,7 @@ template <> void BorderAgent::HandleTmf(Coap::Message &aMessage, co exit: FreeMessageOnError(message, error); - LogError("send to joiner router request RelayTx (c/tx)", error); + LogWarnOnError(error, "send to joiner router request RelayTx (c/tx)"); } Error BorderAgent::ForwardToLeader(const Coap::Message &aMessage, const Ip6::MessageInfo &aMessageInfo, Uri aUri) @@ -576,7 +576,7 @@ Error BorderAgent::ForwardToLeader(const Coap::Message &aMessage, const Ip6::Mes LogInfo("Forwarded request to leader on %s", PathForUri(aUri)); exit: - LogError("forward to leader", error); + LogWarnOnError(error, "forward to leader"); if (error != kErrorNone) { @@ -662,7 +662,7 @@ Error BorderAgent::Start(uint16_t aUdpPort, const uint8_t *aPsk, uint8_t aPskLen LogInfo("Border Agent start listening on port %u", GetUdpPort()); exit: - LogError("start agent", error); + LogWarnOnError(error, "start agent"); return error; } @@ -802,16 +802,6 @@ void BorderAgent::HandleSecureAgentStopped(void) #endif // OPENTHREAD_CONFIG_BORDER_AGENT_EPHEMERAL_KEY_ENABLE -#if OT_SHOULD_LOG_AT(OT_LOG_LEVEL_WARN) -void BorderAgent::LogError(const char *aActionText, Error aError) -{ - if (aError != kErrorNone) - { - LogWarn("Failed to %s: %s", aActionText, ErrorToString(aError)); - } -} -#endif - } // namespace MeshCoP } // namespace ot diff --git a/src/core/meshcop/border_agent.hpp b/src/core/meshcop/border_agent.hpp index fe946122074..933a95c76a1 100644 --- a/src/core/meshcop/border_agent.hpp +++ b/src/core/meshcop/border_agent.hpp @@ -308,12 +308,6 @@ class BorderAgent : public InstanceLocator, private NonCopyable static bool HandleUdpReceive(void *aContext, const otMessage *aMessage, const otMessageInfo *aMessageInfo); bool HandleUdpReceive(const Message &aMessage, const Ip6::MessageInfo &aMessageInfo); -#if OT_SHOULD_LOG_AT(OT_LOG_LEVEL_WARN) - void LogError(const char *aActionText, Error aError); -#else - void LogError(const char *, Error) {} -#endif - using TimeoutTimer = TimerMilliIn; #if OPENTHREAD_CONFIG_BORDER_AGENT_EPHEMERAL_KEY_ENABLE using EphemeralKeyTimer = TimerMilliIn; diff --git a/src/core/meshcop/commissioner.cpp b/src/core/meshcop/commissioner.cpp index 92a52c12ea5..999d73224c8 100644 --- a/src/core/meshcop/commissioner.cpp +++ b/src/core/meshcop/commissioner.cpp @@ -302,9 +302,9 @@ Error Commissioner::Start(StateCallback aStateCallback, JoinerCallback aJoinerCa if ((error != kErrorNone) && (error != kErrorAlready)) { Get().Stop(); + LogWarnOnError(error, "start commissioner"); } - LogError("start commissioner", error); return error; } @@ -343,7 +343,11 @@ Error Commissioner::Stop(ResignMode aResignMode) #endif exit: - LogError("stop commissioner", error); + if (error != kErrorAlready) + { + LogWarnOnError(error, "stop commissioner"); + } + return error; } @@ -405,7 +409,8 @@ void Commissioner::SendCommissionerSet(void) error = SendMgmtCommissionerSetRequest(dataset, nullptr, 0); exit: - LogError("send MGMT_COMMISSIONER_SET.req", error); + LogWarnOnError(error, "send MGMT_COMMISSIONER_SET.req"); + OT_UNUSED_VARIABLE(error); } void Commissioner::ClearJoiners(void) @@ -857,7 +862,7 @@ void Commissioner::SendKeepAlive(uint16_t aSessionId) exit: FreeMessageOnError(message, error); - LogError("send keep alive", error); + LogWarnOnError(error, "send keep alive"); } void Commissioner::HandleLeaderKeepAliveResponse(void *aContext, diff --git a/src/core/meshcop/dataset_manager.cpp b/src/core/meshcop/dataset_manager.cpp index 237c4b48137..6c49a239af3 100644 --- a/src/core/meshcop/dataset_manager.cpp +++ b/src/core/meshcop/dataset_manager.cpp @@ -292,7 +292,11 @@ void DatasetManager::SendSet(void) OT_FALL_THROUGH; default: - LogError("send Dataset set to leader", error); + if (error != kErrorAlready) + { + LogWarnOnError(error, "send Dataset set to leader"); + } + FreeMessage(message); break; } diff --git a/src/core/meshcop/joiner.cpp b/src/core/meshcop/joiner.cpp index fb0f3e61cbc..4df5f96fc36 100644 --- a/src/core/meshcop/joiner.cpp +++ b/src/core/meshcop/joiner.cpp @@ -185,7 +185,7 @@ Error Joiner::Start(const char *aPskd, FreeJoinerFinalizeMessage(); } - LogError("start joiner", error); + LogWarnOnError(error, "start joiner"); return error; } @@ -378,7 +378,7 @@ Error Joiner::Connect(JoinerRouter &aRouter) SetState(kStateConnect); exit: - LogError("start secure joiner connection", error); + LogWarnOnError(error, "start secure joiner connection"); return error; } @@ -543,7 +543,7 @@ template <> void Joiner::HandleTmf(Coap::Message &aMessage, c mTimer.Start(kConfigExtAddressDelay); exit: - LogError("process joiner entrust", error); + LogWarnOnError(error, "process joiner entrust"); } void Joiner::SendJoinerEntrustResponse(const Coap::Message &aRequest, const Ip6::MessageInfo &aRequestInfo) diff --git a/src/core/meshcop/joiner_router.cpp b/src/core/meshcop/joiner_router.cpp index acadf1a9d83..a5df4136702 100644 --- a/src/core/meshcop/joiner_router.cpp +++ b/src/core/meshcop/joiner_router.cpp @@ -232,7 +232,7 @@ void JoinerRouter::DelaySendingJoinerEntrust(const Ip6::MessageInfo &aMessageInf exit: FreeMessageOnError(message, error); - LogError("schedule joiner entrust", error); + LogWarnOnError(error, "schedule joiner entrust"); } void JoinerRouter::HandleTimer(void) { SendDelayedJoinerEntrust(); } diff --git a/src/core/meshcop/meshcop.cpp b/src/core/meshcop/meshcop.cpp index b30fe274cec..8bce745829a 100644 --- a/src/core/meshcop/meshcop.cpp +++ b/src/core/meshcop/meshcop.cpp @@ -343,15 +343,5 @@ Error GeneratePskc(const char *aPassPhrase, } #endif // OPENTHREAD_FTD -#if OT_SHOULD_LOG_AT(OT_LOG_LEVEL_WARN) -void LogError(const char *aActionText, Error aError) -{ - if (aError != kErrorNone && aError != kErrorAlready) - { - LogWarn("Failed to %s: %s", aActionText, ErrorToString(aError)); - } -} -#endif - } // namespace MeshCoP } // namespace ot diff --git a/src/core/meshcop/meshcop.hpp b/src/core/meshcop/meshcop.hpp index 339872bb38c..3620927a022 100644 --- a/src/core/meshcop/meshcop.hpp +++ b/src/core/meshcop/meshcop.hpp @@ -561,22 +561,6 @@ Error GeneratePskc(const char *aPassPhrase, */ void ComputeJoinerId(const Mac::ExtAddress &aEui64, Mac::ExtAddress &aJoinerId); -#if OT_SHOULD_LOG_AT(OT_LOG_LEVEL_WARN) -/** - * Emits a log message indicating an error during a MeshCoP action. - * - * Note that log message is emitted only if there is an error, i.e. @p aError is not `kErrorNone`. The log - * message will have the format "Failed to {aActionText} : {ErrorString}". - * - * @param[in] aActionText A string representing the failed action. - * @param[in] aError The error in sending the message. - * - */ -void LogError(const char *aActionText, Error aError); -#else -inline void LogError(const char *, Error) {} -#endif - } // namespace MeshCoP DefineCoreType(otJoinerPskd, MeshCoP::JoinerPskd); diff --git a/src/core/meshcop/meshcop_leader.cpp b/src/core/meshcop/meshcop_leader.cpp index 64c028d1bfc..4fc83854d82 100644 --- a/src/core/meshcop/meshcop_leader.cpp +++ b/src/core/meshcop/meshcop_leader.cpp @@ -125,7 +125,7 @@ void Leader::SendPetitionResponse(const Coap::Message &aRequest, exit: FreeMessageOnError(message, error); - LogError("send petition response", error); + LogWarnOnError(error, "send petition response"); } template <> void Leader::HandleTmf(Coap::Message &aMessage, const Ip6::MessageInfo &aMessageInfo) @@ -192,7 +192,7 @@ void Leader::SendKeepAliveResponse(const Coap::Message &aRequest, exit: FreeMessageOnError(message, error); - LogError("send keep alive response", error); + LogWarnOnError(error, "send keep alive response"); } void Leader::SendDatasetChanged(const Ip6::Address &aAddress) @@ -211,7 +211,7 @@ void Leader::SendDatasetChanged(const Ip6::Address &aAddress) exit: FreeMessageOnError(message, error); - LogError("send dataset changed", error); + LogWarnOnError(error, "send dataset changed"); } Error Leader::SetDelayTimerMinimal(uint32_t aDelayTimerMinimal) diff --git a/src/core/meshcop/tcat_agent.cpp b/src/core/meshcop/tcat_agent.cpp index c923da3093c..f8e4596425f 100644 --- a/src/core/meshcop/tcat_agent.cpp +++ b/src/core/meshcop/tcat_agent.cpp @@ -94,7 +94,7 @@ Error TcatAgent::Start(const TcatAgent::VendorInfo &aVendorInfo, mAlreadyCommissioned = false; exit: - LogError("start TCAT agent", error); + LogWarnOnError(error, "start TCAT agent"); return error; } @@ -500,16 +500,6 @@ Error TcatAgent::HandleStartThreadInterface(void) return error; } -#if OT_SHOULD_LOG_AT(OT_LOG_LEVEL_WARN) -void TcatAgent::LogError(const char *aActionText, Error aError) -{ - if (aError != kErrorNone) - { - LogWarn("Failed to %s: %s", aActionText, ErrorToString(aError)); - } -} -#endif - } // namespace MeshCoP } // namespace ot diff --git a/src/core/meshcop/tcat_agent.hpp b/src/core/meshcop/tcat_agent.hpp index d2dd9f340c8..16cf8f97743 100644 --- a/src/core/meshcop/tcat_agent.hpp +++ b/src/core/meshcop/tcat_agent.hpp @@ -325,12 +325,6 @@ class TcatAgent : public InstanceLocator, private NonCopyable Error HandleSetActiveOperationalDataset(const Message &aIncommingMessage, uint16_t aOffset, uint16_t aLength); Error HandleStartThreadInterface(void); -#if OT_SHOULD_LOG_AT(OT_LOG_LEVEL_WARN) - void LogError(const char *aActionText, Error aError); -#else - void LogError(const char *, Error) {} -#endif - bool CheckCommandClassAuthorizationFlags(CommandClassFlags aCommissionerCommandClassFlags, CommandClassFlags aDeviceCommandClassFlags, Dataset *aDataset) const; diff --git a/src/core/net/dhcp6_client.cpp b/src/core/net/dhcp6_client.cpp index e206ff66481..56654fb471a 100644 --- a/src/core/net/dhcp6_client.cpp +++ b/src/core/net/dhcp6_client.cpp @@ -288,7 +288,7 @@ void Client::Solicit(uint16_t aRloc16) if (error != kErrorNone) { FreeMessage(message); - LogWarn("Failed to send DHCPv6 Solicit: %s", ErrorToString(error)); + LogWarnOnError(error, "send DHCPv6 Solicit"); } } diff --git a/src/core/net/dhcp6_server.cpp b/src/core/net/dhcp6_server.cpp index 7fd072cf4d5..ea957073747 100644 --- a/src/core/net/dhcp6_server.cpp +++ b/src/core/net/dhcp6_server.cpp @@ -172,11 +172,8 @@ void Server::AddPrefixAgent(const Ip6::Prefix &aIp6Prefix, const Lowpan::Context mPrefixAgentsCount++; exit: - - if (error != kErrorNone) - { - LogNote("Failed to add DHCPv6 prefix agent: %s", ErrorToString(error)); - } + LogWarnOnError(error, "add DHCPv6 prefix agent"); + OT_UNUSED_VARIABLE(error); } void Server::HandleUdpReceive(void *aContext, otMessage *aMessage, const otMessageInfo *aMessageInfo) diff --git a/src/core/net/dnssd_server.cpp b/src/core/net/dnssd_server.cpp index 385eb88f3a3..e05a7d9c10a 100644 --- a/src/core/net/dnssd_server.cpp +++ b/src/core/net/dnssd_server.cpp @@ -170,7 +170,7 @@ void Server::ProcessQuery(Request &aRequest) ExitNow(); } - LogWarn("Error forwarding to upstream: %s", ErrorToString(error)); + LogWarnOnError(error, "forwarding to upstream"); rcode = Header::kResponseServerFailure; diff --git a/src/core/net/ip6.cpp b/src/core/net/ip6.cpp index 57968e90ed2..d5b2e27ed63 100644 --- a/src/core/net/ip6.cpp +++ b/src/core/net/ip6.cpp @@ -714,7 +714,7 @@ Error Ip6::HandleFragment(Message &aMessage) mReassemblyList.DequeueAndFree(*message); } - LogWarn("Reassembly failed: %s", ErrorToString(error)); + LogWarnOnError(error, "reassemble"); } if (isFragmented) @@ -769,11 +769,8 @@ void Ip6::SendIcmpError(Message &aMessage, Icmp::Header::Type aIcmpType, Icmp::H error = mIcmp.SendError(aIcmpType, aIcmpCode, messageInfo, aMessage); exit: - - if (error != kErrorNone) - { - LogWarn("Failed to send ICMP error: %s", ErrorToString(error)); - } + LogWarnOnError(error, "send ICMP"); + OT_UNUSED_VARIABLE(error); } #else @@ -916,11 +913,7 @@ Error Ip6::HandlePayload(Header &aIp6Header, } exit: - if (error != kErrorNone) - { - LogNote("Failed to handle payload: %s", ErrorToString(error)); - } - + LogWarnOnError(error, "handle payload"); return error; } diff --git a/src/core/net/sntp_client.cpp b/src/core/net/sntp_client.cpp index 5897a5f3bc2..7718b02ba99 100644 --- a/src/core/net/sntp_client.cpp +++ b/src/core/net/sntp_client.cpp @@ -193,7 +193,7 @@ void Client::SendCopy(const Message &aMessage, const Ip6::MessageInfo &aMessageI if (error != kErrorNone) { FreeMessage(messageCopy); - LogWarn("Failed to send SNTP request: %s", ErrorToString(error)); + LogWarnOnError(error, "send SNTP request"); } } diff --git a/src/core/net/srp_server.cpp b/src/core/net/srp_server.cpp index 3ebeacbff36..635cbedb2c3 100644 --- a/src/core/net/srp_server.cpp +++ b/src/core/net/srp_server.cpp @@ -674,7 +674,7 @@ Error Server::PrepareSocket(void) exit: if (error != kErrorNone) { - LogError("prepare socket", error); + LogWarnOnError(error, "prepare socket"); IgnoreError(mSocket.Close()); Stop(); } @@ -872,7 +872,7 @@ Error Server::ProcessZoneSection(const Message &aMessage, MessageMetadata &aMeta aMetadata.mOffset = offset; exit: - LogError("process DNS Zone section", error); + LogWarnOnError(error, "process DNS Zone section"); return error; } @@ -898,7 +898,7 @@ Error Server::ProcessUpdateSection(Host &aHost, const Message &aMessage, Message VerifyOrExit(!HasNameConflictsWith(aHost), error = kErrorDuplicated); exit: - LogError("Process DNS Update section", error); + LogWarnOnError(error, "Process DNS Update section"); return error; } @@ -987,7 +987,7 @@ Error Server::ProcessHostDescriptionInstruction(Host &aHost, // the host is being removed or registered. exit: - LogError("process Host Description instructions", error); + LogWarnOnError(error, "process Host Description instructions"); return error; } @@ -1106,7 +1106,7 @@ Error Server::ProcessServiceDiscoveryInstructions(Host &aHost, } exit: - LogError("process Service Discovery instructions", error); + LogWarnOnError(error, "process Service Discovery instructions"); return error; } @@ -1205,7 +1205,7 @@ Error Server::ProcessServiceDescriptionInstructions(Host &aHost, aMetadata.mOffset = offset; exit: - LogError("process Service Description instructions", error); + LogWarnOnError(error, "process Service Description instructions"); return error; } @@ -1294,7 +1294,7 @@ Error Server::ProcessAdditionalSection(Host *aHost, const Message &aMessage, Mes aMetadata.mOffset = offset; exit: - LogError("process DNS Additional section", error); + LogWarnOnError(error, "process DNS Additional section"); return error; } @@ -1341,7 +1341,7 @@ Error Server::VerifySignature(const Host::Key &aKey, error = aKey.Verify(hash, signature); exit: - LogError("verify message signature", error); + LogWarnOnError(error, "verify message signature"); FreeMessage(signerNameMessage); return error; } @@ -1501,7 +1501,7 @@ void Server::SendResponse(const Dns::UpdateHeader &aHeader, UpdateResponseCounters(aResponseCode); exit: - LogError("send response", error); + LogWarnOnError(error, "send response"); FreeMessageOnError(response, error); } @@ -1557,7 +1557,7 @@ void Server::SendResponse(const Dns::UpdateHeader &aHeader, UpdateResponseCounters(Dns::UpdateHeader::kResponseSuccess); exit: - LogError("send response", error); + LogWarnOnError(error, "send response"); FreeMessageOnError(response, error); } @@ -1570,7 +1570,8 @@ void Server::HandleUdpReceive(Message &aMessage, const Ip6::MessageInfo &aMessag { Error error = ProcessMessage(aMessage, aMessageInfo); - LogError("handle DNS message", error); + LogWarnOnError(error, "handle DNS message"); + OT_UNUSED_VARIABLE(error); } Error Server::ProcessMessage(Message &aMessage, const Ip6::MessageInfo &aMessageInfo) @@ -1813,16 +1814,6 @@ void Server::UpdateAddrResolverCacheTable(const Ip6::MessageInfo &aMessageInfo, } #endif -#if OT_SHOULD_LOG_AT(OT_LOG_LEVEL_WARN) -void Server::LogError(const char *aActionText, Error aError) -{ - if (aError != kErrorNone) - { - LogWarn("Failed to %s: %s", aActionText, ErrorToString(aError)); - } -} -#endif - //--------------------------------------------------------------------------------------------------------------------- // Server::Service diff --git a/src/core/net/srp_server.hpp b/src/core/net/srp_server.hpp index ac39aee7f07..ebe67d8fea2 100644 --- a/src/core/net/srp_server.hpp +++ b/src/core/net/srp_server.hpp @@ -1047,12 +1047,6 @@ class Server : public InstanceLocator, private NonCopyable void UpdateResponseCounters(Dns::Header::Response aResponseCode); void UpdateAddrResolverCacheTable(const Ip6::MessageInfo &aMessageInfo, const Host &aHost); -#if OT_SHOULD_LOG_AT(OT_LOG_LEVEL_WARN) - static void LogError(const char *aActionText, Error aError); -#else - static void LogError(const char *, Error) {} -#endif - using LeaseTimer = TimerMilliIn; using UpdateTimer = TimerMilliIn; using CompletedUpdatesTask = TaskletIn; diff --git a/src/core/thread/dua_manager.cpp b/src/core/thread/dua_manager.cpp index 7d78879a317..9f98b07444d 100644 --- a/src/core/thread/dua_manager.cpp +++ b/src/core/thread/dua_manager.cpp @@ -158,7 +158,7 @@ Error DuaManager::GenerateDomainUnicastAddressIid(void) } else { - LogWarn("Generate DUA: %s", ErrorToString(error)); + LogWarnOnError(error, "generate DUA"); } return error; @@ -548,7 +548,7 @@ void DuaManager::PerformNextRegistration(void) UpdateCheckDelay(kNoBufDelay); } - LogInfo("PerformNextRegistration: %s", ErrorToString(error)); + LogWarnOnError(error, "perform next registration"); FreeMessageOnError(message, error); } diff --git a/src/core/thread/energy_scan_server.cpp b/src/core/thread/energy_scan_server.cpp index 25858058065..c79c7d849bc 100644 --- a/src/core/thread/energy_scan_server.cpp +++ b/src/core/thread/energy_scan_server.cpp @@ -198,7 +198,7 @@ void EnergyScanServer::SendReport(void) exit: FreeMessageOnError(mReportMessage, error); - MeshCoP::LogError("send scan results", error); + LogWarnOnError(error, "send scan results"); mReportMessage = nullptr; } diff --git a/src/core/thread/mle.cpp b/src/core/thread/mle.cpp index 9f3e5881077..7ba5d8705ae 100644 --- a/src/core/thread/mle.cpp +++ b/src/core/thread/mle.cpp @@ -3908,13 +3908,8 @@ void Mle::InformPreviousParent(void) LogNote("Sending message to inform previous parent 0x%04x", mPreviousParentRloc); exit: - - if (error != kErrorNone) - { - LogWarn("Failed to inform previous parent: %s", ErrorToString(error)); - - FreeMessage(message); - } + LogWarnOnError(error, "inform previous parent"); + FreeMessageOnError(message, error); } #endif // OPENTHREAD_CONFIG_MLE_INFORM_PREVIOUS_PARENT_ON_REATTACH diff --git a/src/core/thread/network_data_leader_ftd.cpp b/src/core/thread/network_data_leader_ftd.cpp index 1b5d077ec90..5cfc44e56a2 100644 --- a/src/core/thread/network_data_leader_ftd.cpp +++ b/src/core/thread/network_data_leader_ftd.cpp @@ -680,10 +680,7 @@ void Leader::RegisterNetworkData(uint16_t aRloc16, const NetworkData &aNetworkDa if (!mIsClone) #endif { - if (error != kErrorNone) - { - LogNote("Failed to register network data: %s", ErrorToString(error)); - } + LogWarnOnError(error, "register network data"); } } diff --git a/src/core/thread/panid_query_server.cpp b/src/core/thread/panid_query_server.cpp index cfa13996133..59dd59131b8 100644 --- a/src/core/thread/panid_query_server.cpp +++ b/src/core/thread/panid_query_server.cpp @@ -124,7 +124,7 @@ void PanIdQueryServer::SendConflict(void) exit: FreeMessageOnError(message, error); - MeshCoP::LogError("send panid conflict", error); + LogWarnOnError(error, "send panid conflict"); } void PanIdQueryServer::HandleTimer(void) diff --git a/src/core/utils/channel_manager.cpp b/src/core/utils/channel_manager.cpp index 794656f9a50..788a077ca38 100644 --- a/src/core/utils/channel_manager.cpp +++ b/src/core/utils/channel_manager.cpp @@ -387,14 +387,11 @@ Error ChannelManager::RequestChannelSelect(bool aSkipQualityCheck) LogInfo("Occupancy rate diff too small to change channel"); ExitNow(error = kErrorAbort); } - mChannelSelected = newChannel; -exit: - if (error != kErrorNone) - { - LogInfo("Request to select better channel failed, error: %s", ErrorToString(error)); - } + mChannelSelected = newChannel; +exit: + LogWarnOnError(error, "select better channel"); return error; } #endif // OPENTHREAD_CONFIG_CHANNEL_MONITOR_ENABLE diff --git a/src/core/utils/otns.cpp b/src/core/utils/otns.cpp index f19185fb6d4..a130ca3a0d8 100644 --- a/src/core/utils/otns.cpp +++ b/src/core/utils/otns.cpp @@ -166,11 +166,9 @@ void Otns::EmitCoapSend(const Coap::Message &aMessage, const Ip6::MessageInfo &a EmitStatus("coap=send,%d,%d,%d,%s,%s,%d", aMessage.GetMessageId(), aMessage.GetType(), aMessage.GetCode(), uriPath, aMessageInfo.GetPeerAddr().ToString().AsCString(), aMessageInfo.GetPeerPort()); + exit: - if (error != kErrorNone) - { - LogWarn("EmitCoapSend failed: %s", ErrorToString(error)); - } + LogWarnOnError(error, "EmitCoapSend"); } void Otns::EmitCoapReceive(const Coap::Message &aMessage, const Ip6::MessageInfo &aMessageInfo) @@ -183,10 +181,7 @@ void Otns::EmitCoapReceive(const Coap::Message &aMessage, const Ip6::MessageInfo EmitStatus("coap=recv,%d,%d,%d,%s,%s,%d", aMessage.GetMessageId(), aMessage.GetType(), aMessage.GetCode(), uriPath, aMessageInfo.GetPeerAddr().ToString().AsCString(), aMessageInfo.GetPeerPort()); exit: - if (error != kErrorNone) - { - LogWarn("EmitCoapReceive failed: %s", ErrorToString(error)); - } + LogWarnOnError(error, "EmitCoapReceive"); } void Otns::EmitCoapSendFailure(Error aError, Coap::Message &aMessage, const Ip6::MessageInfo &aMessageInfo) @@ -200,10 +195,7 @@ void Otns::EmitCoapSendFailure(Error aError, Coap::Message &aMessage, const Ip6: uriPath, aMessageInfo.GetPeerAddr().ToString().AsCString(), aMessageInfo.GetPeerPort(), ErrorToString(aError)); exit: - if (error != kErrorNone) - { - LogWarn("EmitCoapSendFailure failed: %s", ErrorToString(error)); - } + LogWarnOnError(error, "EmitCoapSendFailure"); } } // namespace Utils