diff options
Diffstat (limited to 'common/elapi/elapi_test')
-rw-r--r-- | common/elapi/elapi_test/Makefile.am | 11 | ||||
-rw-r--r-- | common/elapi/elapi_test/configure.ac | 6 | ||||
-rw-r--r-- | common/elapi/elapi_test/elapi_ut.conf | 98 |
3 files changed, 106 insertions, 9 deletions
diff --git a/common/elapi/elapi_test/Makefile.am b/common/elapi/elapi_test/Makefile.am index cac0ead6..f2368f12 100644 --- a/common/elapi/elapi_test/Makefile.am +++ b/common/elapi/elapi_test/Makefile.am @@ -5,8 +5,7 @@ topdir=$(srcdir)/../.. AM_CFLAGS = -DELAPI_DEFAULT_CONFIG_DIR=\"$(srcdir)\" \ -DELAPI_DEFAULT_CONFIG_APP_DIR=\"$(srcdir)\" \ -DELAPI_DEFAULT_APP_NAME=\"elapi_ut\" \ - -DELAPI_DEFAULT_APP_NAME_SIZE=127 \ - -DELAPI_UTEST + -DELAPI_DEFAULT_APP_NAME_SIZE=127 if HAVE_GCC AM_CFLAGS += \ @@ -27,6 +26,8 @@ libelapi_test_la_SOURCES = \ ../elapi_log.c \ ../elapi_internal.c \ ../elapi_sink.c \ + ../elapi_basic.c \ + ../elapi_basic.h \ ../elapi_event.h \ ../elapi_priv.h \ ../elapi_sink.h \ @@ -34,7 +35,11 @@ libelapi_test_la_SOURCES = \ ../elapi_async.h \ ../elapi.h \ ../providers/file/file_provider.c \ - ../providers/file/file_provider.h + ../providers/file/file_provider.h \ + ../providers/file/file_util.c \ + ../providers/file/file_util.h \ + ../providers/file/file_fmt_csv.c \ + ../providers/file/file_fmt_csv.h # Build unit test check_PROGRAMS = elapi_ut diff --git a/common/elapi/elapi_test/configure.ac b/common/elapi/elapi_test/configure.ac index 9297acfa..44524e70 100644 --- a/common/elapi/elapi_test/configure.ac +++ b/common/elapi/elapi_test/configure.ac @@ -21,6 +21,12 @@ AC_ARG_ENABLE([trace], [trace_level="0"]) AS_IF([test ["$trace_level" -gt "0"] -a ["$trace_level" -lt "8"] ],[AC_SUBST([TRACE_VAR],["-DTRACE_LEVEL=$trace_level"])]) +# Enable trace build +AC_ARG_ENABLE([verbose], + [AS_HELP_STRING([--enable-verbose],[build with verbose output])], + [AC_DEFINE([ELAPI_VERBOSE],[],[add verbose output])],[]) + +m4_include(../def_macros.m4) AC_CONFIG_FILES([Makefile]) AC_OUTPUT diff --git a/common/elapi/elapi_test/elapi_ut.conf b/common/elapi/elapi_test/elapi_ut.conf index a5ad7a0b..00b5912a 100644 --- a/common/elapi/elapi_test/elapi_ut.conf +++ b/common/elapi/elapi_test/elapi_ut.conf @@ -43,7 +43,7 @@ targets=debug, audit, log [debug] value = 1 -sinks = debugfile, stderr +sinks = debugfile, screen [audit] value = 2 @@ -59,9 +59,9 @@ sinks = logfile, syslog ; ; provider - (required) ; Defines the name of the sink or the special reserved word to -; indecate that it is a sink provided natively by ELAPI library. +; indicate that it is a sink provided by ELAPI library. ; -; Special sinks provided natively by ELAPI are: +; Special sinks provided by ELAPI are: ; file ; stderr ; syslog @@ -93,7 +93,88 @@ sinks = logfile, syslog ; default is 60 seconds ; ; synch - yes/no (default no) - a flag that forces the sink to act synchronously -; even if it can support async operations +; even if it can support async operations. +; If application needs to have some events with guaranteed delivery +; and wishes to block for those the implementation should +; send such events to a special target that would consist +; of the sinks that act in the synch mode and guarantee +; the delivery or return failure. + +; SPECIFIC FIELDS FOR DIFFERENT SINKS +; +; 1) FILE SINK +; +; filename - name of the log file. If not specified <appname>.log will be used. +; Avoid using the same name of the file for different sinks, +; the result might be unpredictable. +; If file name is "stderr" the output will be sent to file descriptor 2. +; If application closed file descriptor 2 the log attempt will +; cause error and onerror value for the sink will be ignored. +; The sink will be permanently disabled causing ELAPI to skip +; it. +; The "keepopen" and "fsyncmode" parameters are ignored for +; "stderr" sink. +; +; keepopen - yes/no (default no) - keep file open +; +; outmode - 0 - CSV like (default) +; 1 - use format specifier +; 2 - HTML +; 3 - XML +; 4 - JSON +; 5 - key-value pairs +; +; set - use only specific subset of fields in the given order +; comma separated list of field names that are expected from +; an event +; The set can optionally end with an item: +; @ - this would indicate that all the rest of the fields need to +; be added at the end as separate fields. +; @n - where n is one of the modes from "outmode" list. +; in this case the all remaining fields will be jammed into one field +; using specified format. In case of CSV jammed into CSV it is recommended +; to use qualifier and set cvsescape to true +; If the @ sign is absent only fields from the specified set will be +; included into the output. +; If event does not contain a specific field it will be empty in the output. +; +; fsyncmode - Defines if the data needs to be flushed to disk and how frequently +; If this value is missing or 0 - no flushing. +; If it is positive it denotes the number of events before next flush. +; If it is negative it denotes the number of seconds before next flush. +; +; Format specific parameters: +; +; CSV related parameters (all optional): +; +; csvqual - what to use as string qualifier for CSV outmode. +; One character string. +; If empty no qualifier is used. +; If not specified then double quote is used. +; csvsep - what to use as CSV field separator. +; One character string. +; If empty no separator is used. +; If not specified comma is used. +; csvescsym - which symbol to use as escape symbol. +; One character string. +; If empty or no qualifier no escaping is done. +; If missing the "\" (backslash) is used. +; Escaping is done only if both the qualifier +; and the escape symbol are not empty. +; csvspace - what to use as space after the separator. Default is space. +; use "space" for space +; use "tab" for tab +; use "cr" for new line +; Other value would cause an error. +; csvnumsp - number of space characters to use. Default is 1. +; csvheader - yes/no (default no). Include header into csv file. +; Respected only if the "set" is explicitely defined. +; +; +; HTML related parameters +; +; htmlheader - create header row +; ... TO BE Continued... [debugfile] provider=file @@ -113,9 +194,14 @@ required=true onerror=1 timeout=90 -[stderr] -provider=stderr +[screen] +provider=file +filename=stderr +keepopen=false synch=false +onerror=0 +fsyncmode=-10 +set=a, b, c, @0 [syslog] provider=syslog |