0001 NDRXDEBUG.CONF(5)
0002 =================
0003 :doctype: manpage
0004
0005
0006 NAME
0007 ----
0008 ndrxdebug.conf - Enduro/X Runtime Debug configuration
0009
0010
0011 SYNOPSIS
0012 --------
0013 BINARY_NAME [ndrx=NDRX_DEBUG_LEVEL] [ubf=UBF_DEBUG_LEVEL] [tp=TP_DEBUG_LEVEL] [bufsz=DEBUG_BUFFER_SIZE] [threaded=THREADED] [mkdir=MKDIR] file=[LOG_FILE] [iflags=INTEGRATION_FLAGS] [rebins=REGEX_BINS] [match=REGEX]
0014
0015
0016 DESCRIPTION
0017 -----------
0018 'debug.conf' a file specified by 'NDRX_DEBUG_CONF' env variable configures
0019 EnduroX platform logging for each of the separate executable. The logging is
0020 done from two sources. One source is UBF and another is ATMI (ndrx). For each
0021 of the sources debug level can be set for each separate binary. Debug file
0022 or stderr also can be specified for each of the separate binaries.
0023
0024 Key/value configuration is encoded in standard configuration string,
0025 see ex_adminman(guides)(Enduro/X Administration Manual, Standard configuration string) section.
0026
0027
0028 DEBUG CONFIGURATION FILE SYNTAX
0029 -------------------------------
0030
0031 *BINARY_NAME*::
0032 Binary name is either executable name or In case of * it is applied to
0033 default configuration. It is recommended to put it in start of the file. Any
0034 binary afterwards in file will override defaults.
0035 When binary name matching is performed, firstly value from *NDRX_SVPROCNAME* env
0036 variable is used (if present), if variable is not present, matching is done against
0037 the process name. Such matching is performed even if *BINARY_NAME* is found in
0038 *REGEX_BINS* list.
0039 *NDRX_DEBUG_LEVEL*::
0040 ATMI debug level. 0..5. 0=No logging. 1=Fatal, 2=Error, 3=Warning, 4=Program info,
0041 5=Program detail. Default is 2.
0042 *UBF_DEBUG_LEVEL*::
0043 UBF debug level. 0..5. 0=No logging. 1=Fatal, 2=Error, 3=Warning, 4=Program info,
0044 5=Program detail. Default is 2.
0045 *TP_DEBUG_LEVEL*::
0046 This is tplog(3) user logging level. 0..5. 0=No logging.
0047 1=Fatal, 2=Error, 3=Warning, 4=Program info, 5=Program detail. Default is 5.
0048 *DEBUG_BUFFER_SIZE*::
0049 Number of lines to buffer before writing out to disk.
0050 *THREADED*::
0051 Value is can be set to "Y" or "N". The default is "N". In case of "N" then
0052 logging of the process debug output is sent to the 'LOG_FILE'. All threads
0053 are doing logging to single file. If set to "Y", then for each XATMI client
0054 there will be open new log file. The log file names are assigned by following
0055 approach: Say 'LOG_FILE' = *TEST.LOG*, then new thread log will go to
0056 *TEST.X.LOG* (.e.g *TEST.1.LOG*). If 'LOG_FILE' = *TEST_LOG*, then new thread
0057 will perform logging to "TEST_LOG.1". If value is set to "L" for process
0058 level loggers, then any writing to log is serialized by Mutex lock. This
0059 mode is by default on for SystemV poller.
0060 *MKDIR*::
0061 Value is can be set to "Y" or "N". The default is "N". In case of "Y", if
0062 Enduro/X logger attempts to open log file and the output directory is missing
0063 i.e. fopen() gives *ENOENT* error, the logger will attempt to create the
0064 missing folders below recursively. This functionality might be helpful if
0065 system is running in active-active mode without shared disk volume and
0066 using request file logging in different folders. Thus if call is routed
0067 to other cluster node, it can create the exact file name locally with
0068 performing log file switching.
0069 *LOG_FILE*::
0070 Log file. If empty then 'stderr' will be used. Also special file names
0071 are used. The */dev/stderr* represents 'stderr' output and */dev/stdout*
0072 represent 'stdout' output.
0073 *COMMENTS*::
0074 Commented lines starts with '#'. Empty lines are ignored.
0075 *INTEGRATION_FLAGS*::
0076 Integration specific flags. These specific for binding environments. For example
0077 *endurox-go* package have defined flag 'detailed' which will print the
0078 Go source file name and the code line instead of fixed C function file/line.
0079 *REGEX_BINS*::
0080 List of *BINARY_NAME* (encoded in standard configuration string, e.g. comma separated),
0081 for which additionally regexp matching (against *REGEX*) shall be done.
0082 *REGEX_BINS* typically is used only for default section (i.e. *), where the default
0083 section follows first.
0084 *REGEX*::
0085 Regular expression to be processed when *NDRX_SVPROCNAME* and binary name did not
0086 match any of the *BINARY_NAME* entries.
0087
0088 EXAMPLE
0089 -------
0090 Sample configuration:
0091
0092 ---------------------------------------------------------------------
0093 # Global config:
0094 * ndrx=5 ubf=1 lines=1 bufsz=1000 tp=5 file= rebins="regexp1, regexp2"
0095 # Per binary config:
0096 xadmin file=${NDRX_APPHOME}/tmp/XADMIN
0097 ndrxd file=${NDRX_APPHOME}/tmp/NDRXD
0098 myclient file=${NDRX_APPHOME}/tmp/MYCLIENT
0099 myserver file=${NDRX_APPHOME}/tmp/MYSERVER threaded=y
0100 ud file=${NDRX_APPHOME}/tmp/NDRX
0101 regexp1 file=${NDRX_APPHOME}/tmp/ALL match="^ALL.*"
0102 regexp2 file=${NDRX_APPHOME}/tmp/OTHER match="^other.*"
0103 ---------------------------------------------------------------------
0104
0105 COMMON CONFIGURATION INI SECTION
0106 --------------------------------
0107 Similar syntax is used to describe the debug configuration when common configuration
0108 is used (i.e. configuration in ini files). The difference is that there is one
0109 extra equation mark between the binary and debug string, see example:
0110
0111 ---------------------------------------------------------------------
0112 [@debug]
0113 # Global config:
0114 *=ndrx=5 ubf=1 lines=1 bufsz=1000 tp=5 file= rebins="regexp1, regexp2"
0115 # Per binary config:
0116 xadmin=file=${NDRX_APPHOME}/tmp/XADMIN
0117 ndrxd=file=${NDRX_APPHOME}/tmp/NDRXD
0118 myclient=file=${NDRX_APPHOME}/tmp/MYCLIENT
0119 myserver=file=${NDRX_APPHOME}/tmp/MYSERVER threaded=y
0120 ud=file=${NDRX_APPHOME}/tmp/NDRX
0121 regexp1= file=${NDRX_APPHOME}/tmp/ALL match="^ALL.*"
0122 regexp2 file=${NDRX_APPHOME}/tmp/OTHER match="^other.*"
0123 ---------------------------------------------------------------------
0124
0125 BUGS
0126 ----
0127 Report bugs to support@mavimax.com
0128
0129 SEE ALSO
0130 --------
0131 *xadmin(8)*, *ndrxd(8)*, *ndrxconfig.xml(5)*
0132
0133 COPYING
0134 -------
0135 (C) Mavimax, Ltd
0136