109.14. Internal (im_internal)
NXLog produces its own logs about its operations, including errors and debug messages. This module makes it possible to insert those internal log messages into a route. Internal messages can also be generated from the NXLog language using the log_info(), log_warning(), and log_error() procedures.
Note
|
Only messages with log level INFO and above are supported. Debug messages are ignored due to technical reasons. For debugging purposes the direct logging facility should be used: see the global LogFile and LogLevel directives. |
Warning
|
One must be careful about the use of the im_internal module because it is easy to cause message loops. For example, consider the situation when internal log messages are sent to a database. If the database is experiencing errors which result in internal error messages, then these are again routed to the database and this will trigger further error messages, resulting in a loop. In order to avoid a resource exhaustion, the im_internal module will drop its messages when the queue of the next module in the route is full. It is recommended to always put the im_internal module instance in a separate route. |
Note
|
If internal messages are required in Syslog format, they must be explicitly converted with pm_transformer or the to_syslog_bsd() procedure of the xm_syslog module, because the $raw_event field is not generated in Syslog format. |
109.14.1. Configuration
The im_internal module accepts only the common module directives.
109.14.2. Fields
The following fields are used by im_internal.
$raw_event
(type: string)-
The string passed to the log_info() or other log_* procedure.
$ErrorCode
(type: integer)-
The error number provided by the Apache portable runtime library, if an error is logged resulting from an operating system error.
$EventTime
(type: datetime)-
The current time.
$Hostname
(type: string)-
The hostname where the log was produced.
$Message
(type: string)-
The same value as $raw_event.
$ProcessID
(type: integer)-
The process ID of the NXLog process.
$Severity
(type: string)-
The severity name of the event.
$SeverityValue
(type: integer)-
Depending on the log level of the internal message, the value corresponding to "debug", "info", "warning", "error", or "critical".
$SourceName
(type: string)-
Set to
nxlog
.