1 /* Copyright (C) 2021 by Arm Limited. All rights reserved. */
3 #ifndef STREAMLINE_ANNOTATE_LOGGING_H
4 #define STREAMLINE_ANNOTATE_LOGGING_H
6 //Mapped to android log levels - android_LogPriority
20 /* ANDROID IMPLEMENTATION */
21 #if defined(ANDROID) || defined(__ANDROID__)
22 #include <android/log.h>
24 #define LOG_TAG "AnnotationLog"
26 #define LOGGING(LOG_LEVEL, fmt, ...) \
27 __android_log_print(LOG_LEVEL, LOG_TAG, "%s/%s:%d " fmt, __FILE__, __FUNCTION__, __LINE__, ##__VA_ARGS__);
29 /* LINUX IMPLEMENTATION */
30 #elif defined(linux) || defined(__linux) || defined(__linux__)
32 char *log_levels[] = { "UNKNOWN",
42 #define LOGGING(LOG_LEVEL, fmt, ...) \
43 printf("%s/%s:%d [%s] " fmt " \n", __FILE__, __func__, __LINE__, log_levels[LOG_LEVEL], ##__VA_ARGS__);
46 //Use to do logging, if not needed un-define this variable
50 #define LOG(LOG_LEVEL, fmt, ...) LOGGING(LOG_LEVEL, fmt, ##__VA_ARGS__)
52 #define LOG(LOG_LEVEL, fmt, ...) // nothing
55 #endif /* STREAMLINE_ANNOTATE_LOGGING_H */