21 #ifndef _KINETIC_LOGGER_H
22 #define _KINETIC_LOGGER_H
28 #define KINETIC_LOGGER_DISABLED false
29 #define KINETIC_LOGGER_FLUSH_THREAD_ENABLED false
30 #define KINETIC_LOGGER_LOG_SEQUENCE_ID true
31 #define KINETIC_LOG_FILE "kinetic.log"
45 #define BYTES_TO_CSTRING(_buf_start, _array, _array_start, _count) { \
46 ByteArray __array = {.data = _array.data, .len = (_array).len}; \
47 KineticLogger_ByteArraySliceToCString((char*)(_buf_start), (__array), (_array_start), (_count)); \
51 #if !KINETIC_LOGGER_DISABLED
53 #define LOG0(message) KineticLogger_Log(0, message)
54 #define LOG1(message) KineticLogger_Log(1, message)
55 #define LOG2(message) KineticLogger_Log(2, message)
56 #define LOG3(message) KineticLogger_Log(3, message)
57 #define LOGF0(message, ...) KineticLogger_LogPrintf(0, message, __VA_ARGS__)
58 #define LOGF1(message, ...) KineticLogger_LogPrintf(1, message, __VA_ARGS__)
59 #define LOGF2(message, ...) KineticLogger_LogPrintf(2, message, __VA_ARGS__)
60 #define LOGF3(message, ...) KineticLogger_LogPrintf(3, message, __VA_ARGS__)
61 #define LOG_LOCATION KineticLogger_LogLocation(__FILE__, __LINE__, __func__);
62 #define KINETIC_ASSERT(cond) { \
65 LOGF0("ASSERT FAILURE at %s:%d in %s: assert(" #cond ")", \
66 __FILE__, (int)__LINE__, __func__); \
77 #define LOGF0(message, ...)
78 #define LOGF1(message, ...)
79 #define LOGF2(message, ...)
80 #define LOGF3(message, ...)
82 #define KINETIC_ASSERT(cond)
86 #endif // _KINETIC_LOGGER_H
Structure for handling generic arrays of bytes.
Structure for an embedded ByteArray as a buffer.
void KineticLogger_Log(int log_level, const char *message)
void KineticLogger_LogByteBuffer(int log_level, const char *title, ByteBuffer buffer)
void KineticLogger_Close(void)
void KineticLogger_Init(const char *logFile, int log_level)
void KineticLogger_LogLocation(const char *filename, int line, const char *message)
int KineticLogger_ByteArraySliceToCString(char *p_buf, const ByteArray bytes, const int start, const int count)
void KineticLogger_LogByteArray(int log_level, const char *title, ByteArray bytes)
void KineticLogger_LogProtobuf(int log_level, const Com__Seagate__Kinetic__Proto__Message *msg)
void KineticLogger_LogHeader(int log_level, const KineticPDUHeader *header)
void KineticLogger_LogStatus(int log_level, Com__Seagate__Kinetic__Proto__Command__Status *status)
void KineticLogger_LogPrintf(int log_level, const char *format,...)