urn:schemas-cosylab-com:LoggingConfig:1.0
complexType LoggingConfig

Super Types
{http://www.w3.org/2001/XMLSchema}anyType
|
+--{urn:schemas-cosylab-com:LoggingConfig:1.0}UnnamedLogger (restriction)
|
+--{urn:schemas-cosylab-com:LoggingConfig:1.0}LoggingConfig (extension)

Documentation
Configuration for the log production of an entire process, e.g. a container or manager. This includes shared settings for the communication with the central log service, as well as settings for individual loggers.
The inherited 'minLogLevel' and 'minLogLevelLocal' are the default log levels for all loggers in the container or other process. They can be overridden for specific loggers using 'log:_' XML child elements.
Properties
This component is not nillable.

Model
<...
  centralizedLogger = xs:string : Log
  dispatchPacketSize = xs:int : 100
  flushPeriodSeconds = xs:nonNegativeInteger : 10
  immediateDispatchLevel = logLevel : 10
  maxLogQueueSize = xs:int : 1000
  maxLogsPerSecond = xs:int : -1
  minLogLevel = logLevel : 2
  minLogLevelLocal = logLevel : 2>
_*
</...>


Nested Element Summary
NamedLogger_
          !!! CONFIGURATION OF NAMED LOGGERS NOT YET SUPPORTED IN ACS 6.0!!! Optional configuration for specific loggers that should use different log levels than the default values from 'LoggingConfig'. 

Attribute Summary
 xs:stringcentralizedLogger
          Name of the service representing the logging service. 
 xs:intdispatchPacketSize
          In order to improve performance and reduce network traffic, containers do not send immediately logs to the logging system. 
 xs:nonNegativeIntegerflushPeriodSeconds
          If log records are queued locally in order to send a bunch of them together to the remote log service, we still may want to send packages with fewer records after a certain time. 
 logLevelimmediateDispatchLevel
          Normally a number of log records are sent together to the logging system, as described for "dispatchPacketSize". 
 xs:intmaxLogQueueSize
          Log records are stored in a queue not only to send them in a packet over the wire (see dispatchPacketSize), but also to not lose any records in times when the log service is not available (e.g. 
 xs:intmaxLogsPerSecond
          Optional log throttle to be applied on the process (container) level, giving the max number of logs per second that the process can output. 
 logLevelminLogLevel
          All logs with priority lower than this value will be discarded and never sent to the logging system. 
 logLevelminLogLevelLocal
          Same as "minLogLevel", but controlling the printing of the log to stdout independently of sending the log to the log service. 

Attribute Detail

centralizedLogger

Name of the service representing the logging service. This is the name used to query the Manager for the reference to the logging service. In the current installations the default value is normally used. The value can be changed to distribute logs to different instances of the service in order to improve performance and scalability of the system. In the future it will be possible to federate instances of the logging service, but this is not implemented yet.

Type:
xs:string
Default:
Log
Use:
optional
Form:
unqualified

dispatchPacketSize

In order to improve performance and reduce network traffic, containers do not send immediately logs to the logging system. This parameter specifies how many logs are packaged together and sent to the logging system in one call. Note that the real package size may be smaller if sending off the records is also triggered by a timer and /or by the log level. For debugging purposes it may be convenient to set the cache to 0, to avoid losing logs when a Container crashes. This value was called "CacheSize" prior to ACS 6.0.

Type:
xs:int
Default:
100
Use:
optional
Form:
unqualified

flushPeriodSeconds

If log records are queued locally in order to send a bunch of them together to the remote log service, we still may want to send packages with fewer records after a certain time. This makes sure that log receivers see the messages in time, even if very few records get produced. This value sets the time period in seconds after which the log record queue should be flushed if it contains log records, regardless of the resulting 'dispatchPacketSize'. A value "0" turns off the time-triggered flushing.

Type:
xs:nonNegativeInteger
Default:
10
Use:
optional
Form:
unqualified

immediateDispatchLevel

Normally a number of log records are sent together to the logging system, as described for "dispatchPacketSize". The "immediateDispatchLevel" triggers sending all cached log records immediately once a record with the given (or higher) log level appears, even before the specified packet size has been reached. This value was called "MaxCachePriority" prior to ACS 6.0

Type:
logLevel
Default:
10
Use:
optional
Form:
unqualified

maxLogQueueSize

Log records are stored in a queue not only to send them in a packet over the wire (see dispatchPacketSize), but also to not lose any records in times when the log service is not available (e.g. during container start, or any kind of network and service failure). Thus they get stored in a queue, which gets drained once the log service becomes available. However, logging should not compete for memory with the functional parts of the software, so we limit this queue. Values below "dispatchPacketSize" will be ignored, as we first must queue the records that should be sent together.

Type:
xs:int
Default:
1000
Use:
optional
Form:
unqualified

maxLogsPerSecond

Optional log throttle to be applied on the process (container) level, giving the max number of logs per second that the process can output. The throttle applies not only to remote logs, but also local/stdout logs, since the latter may be sent over the network as well (diskless+NFS). Negative values mean that no log rate throttle is applied. Since ACS 9.0, see COMP-4541.

Type:
xs:int
Default:
-1
Use:
optional
Form:
unqualified

minLogLevel

All logs with priority lower than this value will be discarded and never sent to the logging system. On a normally running system, priority is kept to INFO level (4) or higher to avoid flooding the logging system. While debugging, it might be useful to increase the verbosity of the system by reducing the priority down to the lowest value 2. This value was called "MinCachePriority" prior to ACS 6.0.

Type:
logLevel
Default:
2
Use:
optional
Form:
unqualified

minLogLevelLocal

Same as "minLogLevel", but controlling the printing of the log to stdout independently of sending the log to the log service. Note that printing logs on the command line degrades performance much more than sending them to the log service. This value can be overridden by the env variable "ACS_LOG_STDOUT"

Type:
logLevel
Default:
2
Use:
optional
Form:
unqualified

Source
<xs:complexType name="LoggingConfig">
<xs:complexContent>
<xs:extension base="UnnamedLogger">
<xs:sequence>
<xs:element maxOccurs="unbounded" minOccurs="0" name="_" type="NamedLogger">
</xs:element>
</xs:sequence>
<xs:attribute default="Log" name="centralizedLogger" type="xs:string" use="optional">
</xs:attribute>
<xs:attribute default="100" name="dispatchPacketSize" type="xs:int" use="optional">
</xs:attribute>
<xs:attribute default="10" name="immediateDispatchLevel" type="logLevel" use="optional">
</xs:attribute>
<xs:attribute default="10" name="flushPeriodSeconds" type="xs:nonNegativeInteger" use="optional">
</xs:attribute>
<xs:attribute default="1000" name="maxLogQueueSize" type="xs:int" use="optional">
</xs:attribute>
<xs:attribute default="-1" name="maxLogsPerSecond" type="xs:int" use="optional">
</xs:attribute>
</xs:extension>
</xs:complexContent>
</xs:complexType>


Submit a bug or a feature.
Created by xsddoc, a sub project of xframe, hosted at http://xframe.sourceforge.net.