; This is a sample configuration file for ELAPI ; The dispatcher section defines general configuration ; for the ELAPI. It has following configuration parameters: ; ; targets - (required) ; Defines possible logical destinations where message can be sent. ; It is one of the arguments of the calling interface. It is numeric. ; It is done this way for performance reasons so it is faster to compare. ; But in the configuration it is easier to deal with targets as strings. ; To overcome this issue each target is assigned a number in the INI file. ; The ELAPI convention is to have three default targets: ; "debug", "audit" and "log" but application developers can add others as needed. ; The default value for debug target is 1, for audit 2 and log is 4. ; Changing the value defined for debug to be 7 ( logical OR of 1, 2 and 4) ; will result in all messages sent into debug log. ; This might be convenient during troubleshooting and would allow seeing all ; events emitted by the application in one place. ; If you want the event to be sent into two targets at the same time ; add a target with different name but same value. ; For example if the log events need to go to local and remote files ; in parallel you would create another target: logremote ; and give it same value as log (which by convention is 4) [dispatcher] targets=debug, audit, log ; Inside section for each target the following parameters can be defined: ; ; value - (optional) ; Stores the value associated with this target. ; If the bit-wise AND of this value and the value provided by caller ; of the interface is greater than 0 the event is logged into the ; target destination. If omitted all events are sent to this target. ; sinks - (required) ; Defines the list of the sink names that need to be loaded ; each will have its own section. ; Only one of the sinks is active - first in the list. ; The list contains sinks in the fail over order. ; [debug] value = 1 sinks = debugfile, stderr [audit] value = 2 sinks = auditfile, syslog [log] value = 4 sinks = logfile, syslog ; Each sink needs to have it's own section. ; ; COMMON FOR EVERY SINK ; ; 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. ; ; Special sinks provided natively by ELAPI are: ; file ; stderr ; syslog ; ; Example: ; provider=file ; ; this would mean the destination for this sink is a file. ; ; If the sink is provided as an external plugin ; the syntax should be the following: ; ; provider=custom_audit ; ; In this case the ELAPI will try to load shared library with the name ; constructed using specified value. In the given example ; ELAPI will try to load libelapi_sink_custom_audit.so library. ; The general pattern is: libelapi_sink_.so ; ; required - (optional) ; Defines whether it is a required sink? ; If not present the dispatcher will return error at load time. ; ; onerror - if the sink got an error what should dispatcher do? ; 0 - retry (default) ; 1 - disable ; ; timeout - for how long one should wait before trying to revive the sink ; 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 [debugfile] provider=file required=true onerror=1 timeout=90 [logfile] provider=file required=true onerror=0 timeout=60 [auditfile] provider=file required=true onerror=1 timeout=90 [stderr] provider=stderr synch=false [syslog] provider=syslog synch=yes