Commit f895cbd3 authored by Greg Williams's avatar Greg Williams
Browse files

Finished addition of runtime configuration of logging level, and exposed to...

Finished addition of runtime configuration of logging level, and exposed to public API via KineticClient_Init()
parent b0a56b63
Loading
Loading
Loading
Loading
+2 −1
Original line number Diff line number Diff line
@@ -27,8 +27,9 @@
 * Initializes the Kinetic API andcsonfigures logging destination.
 *
 * @param logFile Path to log file. Specify NULL to log to STDOUT.
 * @param log_level Logging level (-1:none, 0:error, 1:info, 2:verbose, 3:full)
 */
void KineticClient_Init(const char* logFile);
void KineticClient_Init(const char* log_file, int log_level);

/**
 * @brief Performs shutdown/cleanup of the kinetic-c client lib
+2 −2
Original line number Diff line number Diff line
@@ -82,9 +82,9 @@ static KineticStatus KineticClient_ExecuteOperation(KineticOperation* operation)
    return status;
}

void KineticClient_Init(const char* logFile)
void KineticClient_Init(const char* log_file, int log_level)
{
    KineticLogger_Init(logFile);
    KineticLogger_Init(log_file, log_level);
}

void KineticClient_Shutdown(void)
+6 −5
Original line number Diff line number Diff line
@@ -32,7 +32,7 @@
#define KINETIC_LOGGER_FLUSH_INTERVAL_SEC 180
#define KINETIC_LOGGER_SLEEP_TIME_SEC 10
#define KINETIC_LOGGER_BUFFER_FLUSH_SIZE (0.8 * KINETIC_LOGGER_BUFFER_SIZE)
#define KINETIC_LOGGER_FLUSH_THREAD_ENABLED true
#define KINETIC_LOGGER_FLUSH_THREAD_ENABLED false

STATIC int KineticLogLevel = -1;
STATIC FILE* KineticLoggerHandle = NULL;
@@ -83,6 +83,7 @@ static inline void KineticLogger_FinishBuffer(void)
    KineticLogger_BufferUnlock();
}

#if KINETIC_LOGGER_FLUSH_THREAD_ENABLED
static void* KineticLogger_FlushThread(void* arg)
{
    (void)arg;
@@ -114,7 +115,6 @@ static void* KineticLogger_FlushThread(void* arg)
    return NULL;
}

#if KINETIC_LOGGER_FLUSH_THREAD_ENABLED
static void KineticLogger_InitFlushThread(void)
{
    pthread_t thr;
@@ -123,16 +123,17 @@ static void KineticLogger_InitFlushThread(void)
}
#endif

void KineticLogger_Init(const char* log_file)
void KineticLogger_Init(const char* log_file, int log_level)
{
    KineticLogLevel = -1;

    KineticLoggerHandle = NULL;
    if (log_file == NULL) {
        KineticLogLevel = -1;
        printf("\nLogging kinetic-c output is disabled!\n");
        return;
    }
    else {
        KineticLogLevel = 0;
        KineticLogLevel = log_level;
        
        if (strncmp(log_file, "stdout", 4) == 0 || strncmp(log_file, "STDOUT", 4) == 0) {
            printf("\nLogging kinetic-c output to console (stdout)\n");
+18 −4
Original line number Diff line number Diff line
@@ -25,9 +25,10 @@
#include "kinetic_proto.h"
#include <stdarg.h>

#define KINETIC_LOGGER_DISABLED false
#define KINETIC_LOG_FILE "kinetic.log"

void KineticLogger_Init(const char* logFile);
void KineticLogger_Init(const char* logFile, int log_level);
void KineticLogger_Close(void);
void KineticLogger_Log(int log_level, const char* message);
void KineticLogger_LogPrintf(int log_level, const char* format, ...);
@@ -39,17 +40,30 @@ void KineticLogger_LogByteArray(int log_level, const char* title, ByteArray byte
void KineticLogger_LogByteBuffer(int log_level, const char* title, ByteBuffer buffer);

// #define LOG(message)  KineticLogger_Log(2, message)
#if !KINETIC_LOGGER_DISABLED

#define LOG0(message) KineticLogger_Log(0, message)
#define LOG1(message) KineticLogger_Log(1, message)
#define LOG2(message) KineticLogger_Log(2, message)
#define LOG3(message) KineticLogger_Log(3, message)

// #define LOGF(message, ...)  KineticLogger_LogPrintf(2, message, __VA_ARGS__)
#define LOGF0(message, ...) KineticLogger_LogPrintf(0, message, __VA_ARGS__)
#define LOGF1(message, ...) KineticLogger_LogPrintf(1, message, __VA_ARGS__)
#define LOGF2(message, ...) KineticLogger_LogPrintf(2, message, __VA_ARGS__)
#define LOGF3(message, ...) KineticLogger_LogPrintf(3, message, __VA_ARGS__)

#define LOG_LOCATION  KineticLogger_LogLocation(__FILE__, __LINE__, __func__);

#else

#define LOG0(message)
#define LOG1(message)
#define LOG2(message)
#define LOG3(message)
#define LOGF0(message, ...)
#define LOGF1(message, ...)
#define LOGF2(message, ...)
#define LOGF3(message, ...)
#define LOG_LOCATION

#endif

#endif // _KINETIC_LOGGER_H
+1 −1
Original line number Diff line number Diff line
@@ -59,7 +59,7 @@ static const char* TestDataString = "lorem ipsum... blah blah blah... etc.";

int main(int argc, char** argv)
{
    KineticClient_Init("stdout");
    KineticClient_Init("stdout", 1);

    // Parse command line options
    ParseOptions(argc, argv, &SessionConfig, &Entry);
Loading