#include <xdas_base.h>
#include "xdasd_logger.h"
#include "xdasd_parse.h"
#include "xdasd_mqueue.h"
#include "xdasd_mcache.h"
#include "xdasd_conf.h"
#include "xdasd_log.h"
#include <stdio.h>
#include <string.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <dlfcn.h>
Go to the source code of this file.
Data Structures | |
| struct | xdasd_logger_tag |
| A structure that tracks the library handle and imported symbols. More... | |
Defines | |
| #define | XDASD_MAX_LOGGERS 16 |
| The maximum simultaneous loaded loggers we can handle. | |
Logger Module Symbol Names | |
| #define | XDM_INIT_SYM_NAME "xdm_init" |
| #define | XDM_APND_SYM_NAME "xdm_append" |
| #define | XDM_EXIT_SYM_NAME "xdm_exit" |
Typedefs | |
| typedef void * | xdasd_lib_t |
| An abstraction for a loaded library handle. | |
| typedef void(* | xdasd_fptr_t )(void) |
| An abstraction for a generic function pointer. | |
| typedef int | logger_init_fn_t (void(*logmsg)(int level, const char *,...), char *(*getcnfstr)(const char *, char *, size_t *)) |
| Typedefs for function pointers. | |
| typedef int | logger_apnd_fn_t (const char **fields) |
| typedef void | logger_exit_fn_t (void) |
| typedef struct xdasd_logger_tag | xdasd_logger_t |
| A structure that tracks the library handle and imported symbols. | |
Functions | |
| static xdasd_lib_t | xdasd_load_library (const char *libname) |
| Load a library dynamically. | |
| static xdasd_fptr_t | xdasd_import_symbol (xdasd_lib_t lib, const char *sym) |
| Import a symbol dynamically. | |
| static void | xdasd_free_library (xdasd_lib_t lib) |
| Free a dynamically loaded library. | |
| void | logger_clear (void) |
| Clear the global logger list by unloading all loaded loggers. | |
| static int | logger_put (void *data) |
| A MsgQueue 'put' routine for message log processing. | |
| static void * | logger_get (void) |
| A MsgQueue 'get' routine for message log processing. | |
| static void | logger_append (void *data) |
| A MsgQueue 'process' routine for message log processing. | |
| int | xdasd_logger_append (Parsed *parsed) |
| Appends a message to the file based persistent cache queue. | |
| int | xdasd_logger_init (const char *msgfdir) |
| Initialize the loadable back-end logger sub-system. | |
| void | xdasd_logger_exit (void) |
| Cleanup the loadable back-end logger sub-system. | |
Variables | |
| static xdasd_logger_t | s_loggers [XDASD_MAX_LOGGERS] |
| The array of loaded and initialized back-end loggers. | |
| static MsgQueue | s_mq_logger = 0 |
| static MsgCache | s_mcache = 0 |
Definition in file xdasd_logger.c.
1.5.6