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.
![Download file [Download file]](images/icons/download_icon.png)