From 910a52b9a0448193f388bd1bbfde7e26ea3bcb1a Mon Sep 17 00:00:00 2001 From: Samir Yadav Date: Thu, 13 Aug 2026 21:04:04 +0530 Subject: [PATCH] ar_osal: use filename-only source reporting in logs Current log messages include full source file paths because AR_LOG_* macros forward __FILE__ to ar_log(). Add AR_LOG_FILE_NAME and use it across all AR_LOG_* macros to report only the base filename, resulting in cleaner and more readable logs. Signed-off-by: Samir Yadav --- ar_osal/api/ar_osal_log.h | 20 +++++++++++++++----- 1 file changed, 15 insertions(+), 5 deletions(-) diff --git a/ar_osal/api/ar_osal_log.h b/ar_osal/api/ar_osal_log.h index 939e6cd8..632d0cb3 100644 --- a/ar_osal/api/ar_osal_log.h +++ b/ar_osal/api/ar_osal_log.h @@ -45,28 +45,38 @@ void ar_log(uint32_t level, const char_t* log_tag, const char_t* file, */ void ar_set_log_level(uint32_t level); +/* AR_LOG_FILE_NAME: use the compiler built-in that gives only the base filename + * __FILE_NAME__ is supported by GCC >= 12 and Clang >= 9. + * Fall back to __FILE__ on older compilers. + */ +#if defined(__FILE_NAME__) +#define AR_LOG_FILE_NAME __FILE_NAME__ +#else +#define AR_LOG_FILE_NAME __FILE__ +#endif + #define AR_LOG_VERBOSE(log_tag, ...) \ if (ar_log_lvl & AR_VERBOSE) { \ - ar_log(AR_VERBOSE, log_tag, __FILE__, __FUNCTION__, __LINE__, __VA_ARGS__); \ + ar_log(AR_VERBOSE, log_tag, AR_LOG_FILE_NAME, __FUNCTION__, __LINE__, __VA_ARGS__); \ } #define AR_LOG_INFO(log_tag,...) \ if (ar_log_lvl & AR_INFO) { \ - ar_log(AR_INFO, log_tag, __FILE__, __FUNCTION__, __LINE__, __VA_ARGS__); \ + ar_log(AR_INFO, log_tag, AR_LOG_FILE_NAME, __FUNCTION__, __LINE__, __VA_ARGS__); \ } #define AR_LOG_DEBUG(log_tag, ...) \ if (ar_log_lvl & AR_DEBUG) { \ - ar_log(AR_DEBUG, log_tag, __FILE__, __FUNCTION__, __LINE__, __VA_ARGS__); \ + ar_log(AR_DEBUG, log_tag, AR_LOG_FILE_NAME, __FUNCTION__, __LINE__, __VA_ARGS__); \ } #define AR_LOG_ERR(log_tag, ...) \ if (ar_log_lvl & AR_ERROR) { \ - ar_log(AR_ERROR, log_tag, __FILE__, __FUNCTION__, __LINE__, __VA_ARGS__); \ + ar_log(AR_ERROR, log_tag, AR_LOG_FILE_NAME, __FUNCTION__, __LINE__, __VA_ARGS__); \ } #define AR_LOG_CRITICAL(log_tag, ...) \ if (ar_log_lvl & AR_CRITICAL) { \ - ar_log(AR_CRITICAL, log_tag, __FILE__, __FUNCTION__, __LINE__, __VA_ARGS__); \ + ar_log(AR_CRITICAL, log_tag, AR_LOG_FILE_NAME, __FUNCTION__, __LINE__, __VA_ARGS__); \ } #define AR_FATAL_PRIO (AR_CRITICAL) /**< Fatal priority debug message. */