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

Commit 3675ef2

Browse files
committed
Add fileName and lineNumber in WeaveLog*
Help debug and identify spammy log
1 parent 6a32d64 commit 3675ef2

File tree

2 files changed

+36
-6
lines changed

2 files changed

+36
-6
lines changed

src/lib/core/WeaveConfig.h

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1882,6 +1882,17 @@
18821882
#endif // WEAVE_CONFIG_ENABLE_CONDITION_LOGGING
18831883

18841884

1885+
/**
1886+
* @def WEAVE_CONFIG_LOG_WITH_FILE_AND_LINE
1887+
*
1888+
* @brief
1889+
* If asserted (1), enable logging of file name and line number.
1890+
*/
1891+
#ifndef WEAVE_CONFIG_LOG_WITH_FILE_AND_LINE
1892+
#define WEAVE_CONFIG_LOG_WITH_FILE_AND_LINE 0
1893+
#endif // WEAVE_CONFIG_LOG_WITH_FILE_AND_LINE
1894+
1895+
18851896
/**
18861897
* @def WEAVE_CONFIG_ENABLE_SERVICE_DIRECTORY
18871898
*

src/lib/support/logging/WeaveLogging.h

Lines changed: 25 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -210,11 +210,15 @@ enum LogCategory
210210
*
211211
*/
212212
#ifndef WeaveLogError
213+
#if WEAVE_CONFIG_LOG_WITH_FILE_AND_LINE
214+
#define WeaveLogError(MOD, MSG, ...) nl::Weave::Logging::Log( nl::Weave::Logging::kLogModule_##MOD , nl::Weave::Logging::kLogCategory_Error, __FILE__, __LINE__, MSG, ## __VA_ARGS__)
215+
#else
213216
#define WeaveLogError(MOD, MSG, ...) nl::Weave::Logging::Log( nl::Weave::Logging::kLogModule_##MOD , nl::Weave::Logging::kLogCategory_Error, MSG, ## __VA_ARGS__)
214-
#endif
217+
#endif // #if WEAVE_CONFIG_LOG_WITH_FILE_AND_LINE
218+
#endif // #ifndef WeaveLogError
215219
#else
216220
#define WeaveLogError(MOD, MSG, ...)
217-
#endif
221+
#endif // #if WEAVE_ERROR_LOGGING
218222

219223
#ifndef WEAVE_PROGRESS_LOGGING
220224
#define WEAVE_PROGRESS_LOGGING 1
@@ -230,11 +234,15 @@ enum LogCategory
230234
*
231235
*/
232236
#ifndef WeaveLogProgress
237+
#if WEAVE_CONFIG_LOG_WITH_FILE_AND_LINE
238+
#define WeaveLogProgress(MOD, MSG, ...) nl::Weave::Logging::Log( nl::Weave::Logging::kLogModule_##MOD , nl::Weave::Logging::kLogCategory_Progress, __FILE__, __LINE__, MSG, ## __VA_ARGS__)
239+
#else
233240
#define WeaveLogProgress(MOD, MSG, ...) nl::Weave::Logging::Log( nl::Weave::Logging::kLogModule_##MOD , nl::Weave::Logging::kLogCategory_Progress, MSG, ## __VA_ARGS__)
234-
#endif
241+
#endif // #if WEAVE_CONFIG_LOG_WITH_FILE_AND_LINE
242+
#endif // #ifndef WeaveLogProgress
235243
#else
236244
#define WeaveLogProgress(MOD, MSG, ...)
237-
#endif
245+
#endif // #if WEAVE_PROGRESS_LOGGING
238246

239247

240248
#ifndef WEAVE_DETAIL_LOGGING
@@ -251,11 +259,15 @@ enum LogCategory
251259
*
252260
*/
253261
#ifndef WeaveLogDetail
262+
#if WEAVE_CONFIG_LOG_WITH_FILE_AND_LINE
263+
#define WeaveLogDetail(MOD, MSG, ...) nl::Weave::Logging::Log( nl::Weave::Logging::kLogModule_##MOD , nl::Weave::Logging::kLogCategory_Detail, __FILE__, __LINE__, MSG, ## __VA_ARGS__)
264+
#else
254265
#define WeaveLogDetail(MOD, MSG, ...) nl::Weave::Logging::Log( nl::Weave::Logging::kLogModule_##MOD , nl::Weave::Logging::kLogCategory_Detail, MSG, ## __VA_ARGS__)
255-
#endif
266+
#endif // #if WEAVE_CONFIG_LOG_WITH_FILE_AND_LINE
267+
#endif // #ifndef WeaveLogDetail
256268
#else
257269
#define WeaveLogDetail(MOD, MSG, ...)
258-
#endif
270+
#endif // #if WEAVE_DETAIL_LOGGING
259271

260272
#ifndef WEAVE_RETAIN_LOGGING
261273
#define WEAVE_RETAIN_LOGGING WEAVE_PROGRESS_LOGGING
@@ -273,8 +285,12 @@ enum LogCategory
273285
*
274286
*/
275287
#ifndef WeaveLogRetain
288+
#if WEAVE_CONFIG_LOG_WITH_FILE_AND_LINE
289+
#define WeaveLogRetain(MOD, MSG, ...) nl::Weave::Logging::Log( nl::Weave::Logging::kLogModule_##MOD , nl::Weave::Logging::kLogCategory_Retain, __FILE__, __LINE__, MSG, ## __VA_ARGS__)
290+
#else
276291
#define WeaveLogRetain(MOD, MSG, ...) nl::Weave::Logging::Log( nl::Weave::Logging::kLogModule_##MOD , nl::Weave::Logging::kLogCategory_Retain, MSG, ## __VA_ARGS__)
277292
#endif
293+
#endif // #ifndef WeaveLogRetain
278294

279295
#else // #if WEAVE_RETAIN_LOGGING
280296
#ifdef WeaveLogRetain
@@ -308,6 +324,9 @@ extern void GetMessageWithPrefix(char *buf, uint8_t bufSize, uint8_t module, con
308324
extern void GetModuleName(char *buf, uint8_t module);
309325
extern void GetCategoryName(char *buf, uint8_t bufSize, uint8_t category);
310326
extern void PrintMessagePrefix(uint8_t module);
327+
#if WEAVE_CONFIG_LOG_WITH_FILE_AND_LINE
328+
extern void Log(uint8_t module, uint8_t category, const char *fileName, int lineNumber, const char *msg, ...);
329+
#endif
311330
extern void Log(uint8_t module, uint8_t category, const char *msg, ...);
312331
extern uint8_t GetLogFilter(void);
313332
extern void SetLogFilter(uint8_t category);

0 commit comments

Comments
 (0)