Back to home page

Enduro/X

 
 

    


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