Skip to content
This repository has been archived by the owner on Dec 20, 2023. It is now read-only.

Commit

Permalink
Add fileName and lineNumber in WeaveLog*
Browse files Browse the repository at this point in the history
Help debug and identify spammy log
  • Loading branch information
didishe90 committed Jan 18, 2021
1 parent 6a32d64 commit 3675ef2
Show file tree
Hide file tree
Showing 2 changed files with 36 additions and 6 deletions.
11 changes: 11 additions & 0 deletions src/lib/core/WeaveConfig.h
Original file line number Diff line number Diff line change
Expand Up @@ -1882,6 +1882,17 @@
#endif // WEAVE_CONFIG_ENABLE_CONDITION_LOGGING


/**
* @def WEAVE_CONFIG_LOG_WITH_FILE_AND_LINE
*
* @brief
* If asserted (1), enable logging of file name and line number.
*/
#ifndef WEAVE_CONFIG_LOG_WITH_FILE_AND_LINE
#define WEAVE_CONFIG_LOG_WITH_FILE_AND_LINE 0
#endif // WEAVE_CONFIG_LOG_WITH_FILE_AND_LINE


/**
* @def WEAVE_CONFIG_ENABLE_SERVICE_DIRECTORY
*
Expand Down
31 changes: 25 additions & 6 deletions src/lib/support/logging/WeaveLogging.h
Original file line number Diff line number Diff line change
Expand Up @@ -210,11 +210,15 @@ enum LogCategory
*
*/
#ifndef WeaveLogError
#if WEAVE_CONFIG_LOG_WITH_FILE_AND_LINE
#define WeaveLogError(MOD, MSG, ...) nl::Weave::Logging::Log( nl::Weave::Logging::kLogModule_##MOD , nl::Weave::Logging::kLogCategory_Error, __FILE__, __LINE__, MSG, ## __VA_ARGS__)
#else
#define WeaveLogError(MOD, MSG, ...) nl::Weave::Logging::Log( nl::Weave::Logging::kLogModule_##MOD , nl::Weave::Logging::kLogCategory_Error, MSG, ## __VA_ARGS__)
#endif
#endif // #if WEAVE_CONFIG_LOG_WITH_FILE_AND_LINE
#endif // #ifndef WeaveLogError
#else
#define WeaveLogError(MOD, MSG, ...)
#endif
#endif // #if WEAVE_ERROR_LOGGING

#ifndef WEAVE_PROGRESS_LOGGING
#define WEAVE_PROGRESS_LOGGING 1
Expand All @@ -230,11 +234,15 @@ enum LogCategory
*
*/
#ifndef WeaveLogProgress
#if WEAVE_CONFIG_LOG_WITH_FILE_AND_LINE
#define WeaveLogProgress(MOD, MSG, ...) nl::Weave::Logging::Log( nl::Weave::Logging::kLogModule_##MOD , nl::Weave::Logging::kLogCategory_Progress, __FILE__, __LINE__, MSG, ## __VA_ARGS__)
#else
#define WeaveLogProgress(MOD, MSG, ...) nl::Weave::Logging::Log( nl::Weave::Logging::kLogModule_##MOD , nl::Weave::Logging::kLogCategory_Progress, MSG, ## __VA_ARGS__)
#endif
#endif // #if WEAVE_CONFIG_LOG_WITH_FILE_AND_LINE
#endif // #ifndef WeaveLogProgress
#else
#define WeaveLogProgress(MOD, MSG, ...)
#endif
#endif // #if WEAVE_PROGRESS_LOGGING


#ifndef WEAVE_DETAIL_LOGGING
Expand All @@ -251,11 +259,15 @@ enum LogCategory
*
*/
#ifndef WeaveLogDetail
#if WEAVE_CONFIG_LOG_WITH_FILE_AND_LINE
#define WeaveLogDetail(MOD, MSG, ...) nl::Weave::Logging::Log( nl::Weave::Logging::kLogModule_##MOD , nl::Weave::Logging::kLogCategory_Detail, __FILE__, __LINE__, MSG, ## __VA_ARGS__)
#else
#define WeaveLogDetail(MOD, MSG, ...) nl::Weave::Logging::Log( nl::Weave::Logging::kLogModule_##MOD , nl::Weave::Logging::kLogCategory_Detail, MSG, ## __VA_ARGS__)
#endif
#endif // #if WEAVE_CONFIG_LOG_WITH_FILE_AND_LINE
#endif // #ifndef WeaveLogDetail
#else
#define WeaveLogDetail(MOD, MSG, ...)
#endif
#endif // #if WEAVE_DETAIL_LOGGING

#ifndef WEAVE_RETAIN_LOGGING
#define WEAVE_RETAIN_LOGGING WEAVE_PROGRESS_LOGGING
Expand All @@ -273,8 +285,12 @@ enum LogCategory
*
*/
#ifndef WeaveLogRetain
#if WEAVE_CONFIG_LOG_WITH_FILE_AND_LINE
#define WeaveLogRetain(MOD, MSG, ...) nl::Weave::Logging::Log( nl::Weave::Logging::kLogModule_##MOD , nl::Weave::Logging::kLogCategory_Retain, __FILE__, __LINE__, MSG, ## __VA_ARGS__)
#else
#define WeaveLogRetain(MOD, MSG, ...) nl::Weave::Logging::Log( nl::Weave::Logging::kLogModule_##MOD , nl::Weave::Logging::kLogCategory_Retain, MSG, ## __VA_ARGS__)
#endif
#endif // #ifndef WeaveLogRetain

#else // #if WEAVE_RETAIN_LOGGING
#ifdef WeaveLogRetain
Expand Down Expand Up @@ -308,6 +324,9 @@ extern void GetMessageWithPrefix(char *buf, uint8_t bufSize, uint8_t module, con
extern void GetModuleName(char *buf, uint8_t module);
extern void GetCategoryName(char *buf, uint8_t bufSize, uint8_t category);
extern void PrintMessagePrefix(uint8_t module);
#if WEAVE_CONFIG_LOG_WITH_FILE_AND_LINE
extern void Log(uint8_t module, uint8_t category, const char *fileName, int lineNumber, const char *msg, ...);
#endif
extern void Log(uint8_t module, uint8_t category, const char *msg, ...);
extern uint8_t GetLogFilter(void);
extern void SetLogFilter(uint8_t category);
Expand Down

0 comments on commit 3675ef2

Please sign in to comment.