New, yet primitive version of log writing functionality. Fixed some things in utils.
This commit is contained in:
BIN
log_manager/liblog_manager.so.1.0.1
Executable file
BIN
log_manager/liblog_manager.so.1.0.1
Executable file
Binary file not shown.
1191
log_manager/log_manager.cc
Normal file
1191
log_manager/log_manager.cc
Normal file
File diff suppressed because it is too large
Load Diff
65
log_manager/log_manager.h
Normal file
65
log_manager/log_manager.h
Normal file
@ -0,0 +1,65 @@
|
||||
|
||||
|
||||
typedef struct filewriter_st filewriter_t;
|
||||
typedef struct logfile_st logfile_t;
|
||||
typedef struct fnames_conf_st fnames_conf_t;
|
||||
typedef struct logmanager_st logmanager_t;
|
||||
|
||||
typedef enum {
|
||||
LOGFILE_FIRST = 0,
|
||||
LOGFILE_TRACE = LOGFILE_FIRST,
|
||||
LOGFILE_MESSAGE,
|
||||
LOGFILE_ERROR,
|
||||
LOGFILE_LAST = LOGFILE_ERROR
|
||||
} logfile_id_t;
|
||||
|
||||
typedef enum { FILEWRITER_INIT, FILEWRITER_RUN, FILEWRITER_DONE }
|
||||
filewriter_state_t;
|
||||
typedef enum { LOGFILE_INIT, LOGFILE_OPENED, LOGFILE_DONE } logfile_state_t;
|
||||
|
||||
EXTERN_C_BLOCK_BEGIN
|
||||
|
||||
logmanager_t* skygw_logmanager_init(void** ctx, int argc, char* argv[]);
|
||||
void skygw_logmanager_done(void** ctx, logmanager_t** lm);
|
||||
int skygw_log_write(void* ctx, logmanager_t* lmgr, logfile_id_t id, char* str);
|
||||
int skygw_log_flush(logmanager_t* lmgr, logfile_id_t id);
|
||||
int skygw_log_write_flush(void* ctx,
|
||||
logmanager_t* lmgr,
|
||||
logfile_id_t id,
|
||||
char* str);
|
||||
|
||||
EXTERN_C_BLOCK_END
|
||||
|
||||
const char* get_trace_prefix_default(void);
|
||||
const char* get_trace_suffix_default(void);
|
||||
const char* get_msg_prefix_default(void);
|
||||
const char* get_msg_suffix_default(void);
|
||||
const char* get_err_prefix_default(void);
|
||||
const char* get_err_suffix_default(void);
|
||||
const char* get_logpath_default(void);
|
||||
|
||||
/*
|
||||
bool logfile_write(
|
||||
skygw_ctx_t* ctx,
|
||||
logmgr_t* mgr,
|
||||
logfile_id_t id,
|
||||
char* msg);
|
||||
|
||||
bool logfile_write_flush(
|
||||
skygw_ctx_t* ctx,
|
||||
logmgr_t* mgr,
|
||||
logfile_id_t id,
|
||||
char* msg);
|
||||
|
||||
bool logfile_flush(
|
||||
logmgr_t* mgr,
|
||||
logfile_id_t id);
|
||||
|
||||
bool logfile_init(
|
||||
logmgr_t* mgr,
|
||||
logfile_id_t id);
|
||||
|
||||
void logfile_done(
|
||||
logmgr_t* mgr,
|
||||
logfile_id_t id);
|
||||
*/
|
38
log_manager/makefile
Normal file
38
log_manager/makefile
Normal file
@ -0,0 +1,38 @@
|
||||
include ../build_gateway.inc
|
||||
include ../makefile.inc
|
||||
|
||||
CC = gcc
|
||||
CPP = g++
|
||||
|
||||
LOG_WRITER_PATH := $(shell pwd)
|
||||
|
||||
makeall: clean all
|
||||
|
||||
clean:
|
||||
make -C ../utils clean
|
||||
- $(DEL) *.o
|
||||
- $(DEL) *.so
|
||||
- $(DEL) *.so.1.0.1
|
||||
- $(DEL) *~
|
||||
|
||||
all: utils lib
|
||||
|
||||
utils:
|
||||
make -C $(ROOT_PATH)/utils clean all
|
||||
$(COPY) $(ROOT_PATH)/utils/skygw_utils.o ./
|
||||
|
||||
lib: libcomp liblink
|
||||
|
||||
libcomp:
|
||||
$(CPP) -c $(CFLAGS) \
|
||||
-I$(MARIADB_SRC_PATH)/include/ \
|
||||
-I../utils/ -I./ \
|
||||
-fPIC ./log_manager.cc -o log_manager.o $(LDLIBS)
|
||||
|
||||
liblink:
|
||||
$(CPP) -shared \
|
||||
-Wl,-soname,liblog_manager.so \
|
||||
-o liblog_manager.so.1.0.1 log_manager.o \
|
||||
$(LDLIBS) $(CPP_LDLIBS)
|
||||
$(DEL) ./liblog_manager.so
|
||||
$(LINK) ./liblog_manager.so.1.0.1 ./liblog_manager.so
|
BIN
log_manager/test/core
Normal file
BIN
log_manager/test/core
Normal file
Binary file not shown.
34
log_manager/test/makefile
Normal file
34
log_manager/test/makefile
Normal file
@ -0,0 +1,34 @@
|
||||
include ../../build_gateway.inc
|
||||
include ../../makefile.inc
|
||||
|
||||
CC = gcc
|
||||
CPP = g++
|
||||
|
||||
TESTPATH := $(shell pwd)
|
||||
LOG_MANAGER_PATH := $(ROOT_PATH)/log_manager
|
||||
TESTAPP = $(TESTPATH)/testlog
|
||||
|
||||
runtest: makeall testall
|
||||
|
||||
makeall: clean all
|
||||
|
||||
clean:
|
||||
- $(DEL) *.o
|
||||
- $(DEL) testlog
|
||||
- $(DEL) *~
|
||||
|
||||
all: testcomp testall
|
||||
|
||||
testcomp:
|
||||
$(CC) $(CFLAGS) \
|
||||
-L$(LOG_MANAGER_PATH) \
|
||||
-Wl,-rpath,$(LOG_MANAGER_PATH)/ \
|
||||
-o testlog -DSS_DEBUG \
|
||||
-I$(SOLIDDB_SRC_PATH)/include \
|
||||
-I$(MARIADB_SRC_PATH)/include \
|
||||
-I$(LOG_MANAGER_PATH) -I$(ROOT_PATH)/utils testlog.c \
|
||||
-llog_manager $(LDLIBS) \
|
||||
$(LOG_MANAGER_PATH)/skygw_utils.o
|
||||
|
||||
testall:
|
||||
- $(LAUNCH_DEBUGGER) $(TESTAPP) $(BACKGR)
|
65
log_manager/test/nohup.out
Normal file
65
log_manager/test/nohup.out
Normal file
@ -0,0 +1,65 @@
|
||||
WARNING:
|
||||
UTF-8 charmap detected. Switching off UTF-8 as ddd has problems with it. See
|
||||
README.SUSE for futher information. Use -x parameter to bypass this wrapper.
|
||||
WARNING:
|
||||
UTF-8 charmap detected. Switching off UTF-8 as ddd has problems with it. See
|
||||
README.SUSE for futher information. Use -x parameter to bypass this wrapper.
|
||||
WARNING:
|
||||
UTF-8 charmap detected. Switching off UTF-8 as ddd has problems with it. See
|
||||
README.SUSE for futher information. Use -x parameter to bypass this wrapper.
|
||||
WARNING:
|
||||
UTF-8 charmap detected. Switching off UTF-8 as ddd has problems with it. See
|
||||
README.SUSE for futher information. Use -x parameter to bypass this wrapper.
|
||||
WARNING:
|
||||
UTF-8 charmap detected. Switching off UTF-8 as ddd has problems with it. See
|
||||
README.SUSE for futher information. Use -x parameter to bypass this wrapper.
|
||||
WARNING:
|
||||
UTF-8 charmap detected. Switching off UTF-8 as ddd has problems with it. See
|
||||
README.SUSE for futher information. Use -x parameter to bypass this wrapper.
|
||||
Warning:
|
||||
Name: menubar
|
||||
Class: XmRowColumn
|
||||
XtGrabPointer failed.
|
||||
|
||||
(Annoyed? Try 'Edit->Preferences->General->Suppress X Warnings'!)
|
||||
/bin/sh -c 'exec gdb -q -fullname '\''/home/raatikka/src/bazaar/shared/skygateway/log_manager/test/testlog'\''' [26040]: Agent wouldn't die (Terminated)
|
||||
WARNING:
|
||||
UTF-8 charmap detected. Switching off UTF-8 as ddd has problems with it. See
|
||||
README.SUSE for futher information. Use -x parameter to bypass this wrapper.
|
||||
WARNING:
|
||||
UTF-8 charmap detected. Switching off UTF-8 as ddd has problems with it. See
|
||||
README.SUSE for futher information. Use -x parameter to bypass this wrapper.
|
||||
/bin/sh -c 'exec gdb -q -fullname '\''/home/raatikka/src/bazaar/shared/skygateway/log_manager/test/testlog'\''' [26458]: Agent wouldn't die (Terminated)
|
||||
WARNING:
|
||||
UTF-8 charmap detected. Switching off UTF-8 as ddd has problems with it. See
|
||||
README.SUSE for futher information. Use -x parameter to bypass this wrapper.
|
||||
WARNING:
|
||||
UTF-8 charmap detected. Switching off UTF-8 as ddd has problems with it. See
|
||||
README.SUSE for futher information. Use -x parameter to bypass this wrapper.
|
||||
WARNING:
|
||||
UTF-8 charmap detected. Switching off UTF-8 as ddd has problems with it. See
|
||||
README.SUSE for futher information. Use -x parameter to bypass this wrapper.
|
||||
WARNING:
|
||||
UTF-8 charmap detected. Switching off UTF-8 as ddd has problems with it. See
|
||||
README.SUSE for futher information. Use -x parameter to bypass this wrapper.
|
||||
WARNING:
|
||||
UTF-8 charmap detected. Switching off UTF-8 as ddd has problems with it. See
|
||||
README.SUSE for futher information. Use -x parameter to bypass this wrapper.
|
||||
WARNING:
|
||||
UTF-8 charmap detected. Switching off UTF-8 as ddd has problems with it. See
|
||||
README.SUSE for futher information. Use -x parameter to bypass this wrapper.
|
||||
WARNING:
|
||||
UTF-8 charmap detected. Switching off UTF-8 as ddd has problems with it. See
|
||||
README.SUSE for futher information. Use -x parameter to bypass this wrapper.
|
||||
WARNING:
|
||||
UTF-8 charmap detected. Switching off UTF-8 as ddd has problems with it. See
|
||||
README.SUSE for futher information. Use -x parameter to bypass this wrapper.
|
||||
WARNING:
|
||||
UTF-8 charmap detected. Switching off UTF-8 as ddd has problems with it. See
|
||||
README.SUSE for futher information. Use -x parameter to bypass this wrapper.
|
||||
WARNING:
|
||||
UTF-8 charmap detected. Switching off UTF-8 as ddd has problems with it. See
|
||||
README.SUSE for futher information. Use -x parameter to bypass this wrapper.
|
||||
WARNING:
|
||||
UTF-8 charmap detected. Switching off UTF-8 as ddd has problems with it. See
|
||||
README.SUSE for futher information. Use -x parameter to bypass this wrapper.
|
BIN
log_manager/test/testlog
Executable file
BIN
log_manager/test/testlog
Executable file
Binary file not shown.
45
log_manager/test/testlog.c
Normal file
45
log_manager/test/testlog.c
Normal file
@ -0,0 +1,45 @@
|
||||
#include <stdio.h>
|
||||
#include <string.h>
|
||||
#include <skygw_utils.h>
|
||||
#include <log_manager.h>
|
||||
|
||||
int main(int argc, char* argv[])
|
||||
{
|
||||
int err;
|
||||
logmanager_t* lmgr;
|
||||
char* logstr;
|
||||
|
||||
lmgr = skygw_logmanager_init(NULL, argc, argv);
|
||||
|
||||
logstr = strdup("My name is Tracey");
|
||||
err = skygw_log_write(NULL, lmgr, LOGFILE_TRACE, logstr);
|
||||
free(logstr);
|
||||
|
||||
logstr = strdup("My name is Stacey");
|
||||
err = skygw_log_write_flush(NULL, lmgr, LOGFILE_TRACE, logstr);
|
||||
free(logstr);
|
||||
|
||||
skygw_logmanager_done(NULL, &lmgr);
|
||||
|
||||
logstr = strdup("My name is Philip");
|
||||
err = skygw_log_write(NULL, lmgr, LOGFILE_TRACE, logstr);
|
||||
free(logstr);
|
||||
|
||||
lmgr = skygw_logmanager_init(NULL, argc, argv);
|
||||
|
||||
logstr = strdup("A terrible error has occurred!");
|
||||
err = skygw_log_write_flush(NULL, lmgr, LOGFILE_ERROR, logstr);
|
||||
free(logstr);
|
||||
|
||||
logstr = strdup("Hi, how are you?");
|
||||
err = skygw_log_write(NULL, lmgr, LOGFILE_MESSAGE, logstr);
|
||||
free(logstr);
|
||||
|
||||
logstr = strdup("I'm doing fine!");
|
||||
err = skygw_log_write(NULL, lmgr, LOGFILE_MESSAGE, logstr);
|
||||
free(logstr);
|
||||
|
||||
return_err:
|
||||
skygw_logmanager_done(NULL, &lmgr);
|
||||
return err;
|
||||
}
|
Reference in New Issue
Block a user