![]() |
kinetic-c
v0.12.0
Seagate Kinetic Protocol Client Library for C
|
#include "kinetic_logger.h"
#include "kinetic_version_info.h"
#include <stdarg.h>
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <sys/time.h>
#include <errno.h>
#include <pthread.h>
#include <time.h>
Go to the source code of this file.
Macros | |
#define | BUFFER_SIZE 1024 |
#define | BUFFER_MAX_STRLEN (BUFFER_SIZE-2) |
#define | LOG_INDENT " " |
#define | BOOL_TO_STRING(_bool) (_bool) ? "true" : "false" |
Functions | |
static bool | is_level_enabled (int log_level) |
static void | lock_buffer (void) |
static void | unlock_buffer (void) |
static void | flush_buffer (void) |
static char * | get_buffer (void) |
static void | finish_buffer (void) |
static void | log_protobuf_message (int log_level, const ProtobufCMessage *msg, char *indent) |
static void | log_version_info (void) |
void | KineticLogger_Init (const char *log_file, 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,...) |
void | KineticLogger_LogLocation (const char *filename, int line, const char *message) |
void | KineticLogger_LogHeader (int log_level, const KineticPDUHeader *header) |
static void | log_proto_level_start (const char *name) |
static void | log_proto_level_end (void) |
static void | log_proto_level_start_array (const char *name, unsigned quantity) |
static void | log_proto_level_end_array (void) |
static int | bytetoa (char *p_buf, uint8_t val) |
int | KineticLogger_ByteArraySliceToCString (char *p_buf, const ByteArray bytes, const int start, const int count) |
static void | LogUnboxed (int log_level, void const *const fieldData, ProtobufCFieldDescriptor const *const fieldDesc, size_t const i, char *log_indent) |
void | KineticLogger_LogProtobuf (int log_level, const Com__Seagate__Kinetic__Proto__Message *msg) |
void | KineticLogger_LogStatus (int log_level, Com__Seagate__Kinetic__Proto__Command__Status *status) |
void | KineticLogger_LogByteArray (int log_level, const char *title, ByteArray bytes) |
void | KineticLogger_LogByteBuffer (int log_level, const char *title, ByteBuffer buffer) |
Variables | |
static int | KineticLogLevel = -1 |
static FILE * | KineticLoggerHandle = NULL |
static pthread_mutex_t | BufferMutex = PTHREAD_MUTEX_INITIALIZER |
static char | Buffer [1024] |
static char | indent [64] = " " |
static const size_t | max_indent = sizeof(indent)-3 |
static int | indent_overflow = 0 |
#define BUFFER_SIZE 1024 |
Definition at line 33 of file kinetic_logger.c.
#define BUFFER_MAX_STRLEN (BUFFER_SIZE-2) |
Definition at line 34 of file kinetic_logger.c.
#define LOG_INDENT " " |
Definition at line 168 of file kinetic_logger.c.
#define BOOL_TO_STRING | ( | _bool | ) | (_bool) ? "true" : "false" |
Definition at line 251 of file kinetic_logger.c.
|
inlinestatic |
Definition at line 548 of file kinetic_logger.c.
|
inlinestatic |
Definition at line 553 of file kinetic_logger.c.
References BufferMutex.
|
inlinestatic |
Definition at line 558 of file kinetic_logger.c.
References BufferMutex.
|
static |
Definition at line 563 of file kinetic_logger.c.
References Buffer, and KineticLoggerHandle.
|
inlinestatic |
Definition at line 569 of file kinetic_logger.c.
References Buffer, and lock_buffer().
|
inlinestatic |
Definition at line 575 of file kinetic_logger.c.
References flush_buffer(), and unlock_buffer().
|
static |
Definition at line 360 of file kinetic_logger.c.
References com__seagate__kinetic__proto__command__free_unpacked(), com__seagate__kinetic__proto__command__unpack(), is_level_enabled(), log_proto_level_end(), log_proto_level_end_array(), log_proto_level_start(), log_proto_level_start_array(), and LogUnboxed().
|
static |
Definition at line 133 of file kinetic_logger.c.
References KINETIC_C_PROTOCOL_VERSION, KINETIC_C_REPO_HASH, KINETIC_C_VERSION, and KineticLogger_LogPrintf().
void KineticLogger_Init | ( | const char * | log_file, |
int | log_level | ||
) |
Definition at line 56 of file kinetic_logger.c.
References BufferMutex, KINETIC_ASSERT, KineticLoggerHandle, KineticLogLevel, and log_version_info().
void KineticLogger_Close | ( | void | ) |
Definition at line 86 of file kinetic_logger.c.
References KineticLoggerHandle, and KineticLogLevel.
void KineticLogger_Log | ( | int | log_level, |
const char * | message | ||
) |
Definition at line 96 of file kinetic_logger.c.
References KineticLogger_LogPrintf().
void KineticLogger_LogPrintf | ( | int | log_level, |
const char * | format, | ||
... | |||
) |
Definition at line 101 of file kinetic_logger.c.
References Buffer, BUFFER_MAX_STRLEN, finish_buffer(), get_buffer(), is_level_enabled(), and KineticLoggerHandle.
void KineticLogger_LogLocation | ( | const char * | filename, |
int | line, | ||
const char * | message | ||
) |
Definition at line 139 of file kinetic_logger.c.
References KineticLogger_LogPrintf(), and KineticLogLevel.
void KineticLogger_LogHeader | ( | int | log_level, |
const KineticPDUHeader * | header | ||
) |
Definition at line 154 of file kinetic_logger.c.
References is_level_enabled(), KineticLogger_Log(), and KineticLogger_LogPrintf().
|
static |
Definition at line 174 of file kinetic_logger.c.
References indent, indent_overflow, KineticLogger_LogPrintf(), LOG_INDENT, and max_indent.
|
static |
Definition at line 185 of file kinetic_logger.c.
References indent, indent_overflow, and KineticLogger_LogPrintf().
|
static |
Definition at line 196 of file kinetic_logger.c.
References indent, indent_overflow, KineticLogger_LogPrintf(), LOG_INDENT, and max_indent.
|
static |
Definition at line 208 of file kinetic_logger.c.
References indent, indent_overflow, and KineticLogger_LogPrintf().
|
static |
Definition at line 219 of file kinetic_logger.c.
int KineticLogger_ByteArraySliceToCString | ( | char * | p_buf, |
const ByteArray | bytes, | ||
const int | start, | ||
const int | count | ||
) |
Definition at line 239 of file kinetic_logger.c.
References bytetoa(), and ByteArray::data.
|
static |
Definition at line 253 of file kinetic_logger.c.
References BOOL_TO_STRING, KINETIC_ASSERT, KineticLogger_LogByteArray(), KineticLogger_LogPrintf(), log_proto_level_end(), log_proto_level_start(), and log_protobuf_message().
void KineticLogger_LogProtobuf | ( | int | log_level, |
const Com__Seagate__Kinetic__Proto__Message * | msg | ||
) |
Definition at line 423 of file kinetic_logger.c.
References indent, indent_overflow, is_level_enabled(), KineticLogger_Log(), and log_protobuf_message().
void KineticLogger_LogStatus | ( | int | log_level, |
Com__Seagate__Kinetic__Proto__Command__Status * | status | ||
) |
Definition at line 435 of file kinetic_logger.c.
References COM__SEAGATE__KINETIC__PROTO__COMMAND__STATUS__STATUS_CODE__INVALID_STATUS_CODE, COM__SEAGATE__KINETIC__PROTO__COMMAND__STATUS__STATUS_CODE__SUCCESS, is_level_enabled(), and KineticLogger_LogPrintf().
void KineticLogger_LogByteArray | ( | int | log_level, |
const char * | title, | ||
ByteArray | bytes | ||
) |
Definition at line 492 of file kinetic_logger.c.
References ByteArray::data, is_level_enabled(), KineticLogger_LogPrintf(), and ByteArray::len.
void KineticLogger_LogByteBuffer | ( | int | log_level, |
const char * | title, | ||
ByteBuffer | buffer | ||
) |
Definition at line 536 of file kinetic_logger.c.
References ByteBuffer::array, ByteBuffer::bytesUsed, ByteArray::data, is_level_enabled(), and KineticLogger_LogByteArray().
|
static |
Definition at line 36 of file kinetic_logger.c.
|
static |
Definition at line 37 of file kinetic_logger.c.
|
static |
Definition at line 38 of file kinetic_logger.c.
|
static |
Definition at line 39 of file kinetic_logger.c.
|
static |
Definition at line 169 of file kinetic_logger.c.
|
static |
Definition at line 170 of file kinetic_logger.c.
|
static |
Definition at line 171 of file kinetic_logger.c.