Log
Summary
The DRX logs output the same logs to the following two paths.
- Standard output
- Log file
When operating in service mode, the standard output is not used.
The file output is distributed to the main and resource logs.
File | Path | Content |
---|---|---|
main log file | {DRX installed path}/logs/main.log | DRX operation. Exclude actions by resources |
resource-specific log file | {DRX installed path}/logs/{resource_name}/{resource_name}.log | Behavior of resources |
When each file reaches the set size, the file is archived and a new one is created.
The file being archived is appended with the date and time at that point in time. (ex: main_2018-11-22_1432.log)
Log View
The following types of commands are provided to output the active DRX log in real time.
drx-ctl log {options} [resource or all]
Supported options:
Option | Shortcut | Description |
---|---|---|
--include-main | -m | Print the main log. If this option is not specified, only resource-specific logs are output. |
--lines {num} | -n {num} | Output the last num lines. |
When you execute this command, you can continuously output the update of the log file and terminate it with Ctrl-C.
Configuration
The log-related items that can be set in the configuration file (drx.conf) are as follows.
Item | Value | Format | Description |
---|---|---|---|
loglevel-stdout | Log level | trace, debug, info, warning, error, critical, off | Specifies the level of the standard output log. |
loglevel-file | Log level | trace, debug, info, warning, error, critical, off | Specifies the level of the log output to the file. |
logfile-max-size | File size | Bytes (ex: 10MB) | When the log file reaches the specified capacity, the current log file is archived and a new one is created. |
logfile-max-count | File count | Number | Maximum number of current and archived log files. |
The log level can be changed in real time via drx-ctl.
drx-ctl set console-loglevel [level]
drx-ctl set file-loglevel [level]
However, the standard output level is ignored when running in service mode.
Output Format
level/data time thread logger:tag] message
Details By Item
Item | Format | Example | Description |
---|---|---|---|
log level/date | {level}{date} | I1004 | Print log level and date without spaces. |
time | hour:min:sec.microsec | 16:44:13.790530 | - |
thread | t{thread ID} | t3056 | The thread ID that generated the log. |
logger | logger name | main | Logger name for dividing log category. |
tag | tag name | license c-:o | Represents a subrange of the logger, or represents the details of the channel. |
Log Level
Abbreviation | Level | Range |
---|---|---|
T | trace | Very detailed operation log |
D | debug | Used when problems arise that require debugging |
I | info | General information such as state change or behavior |
W | warning | A situation where an unintended problem occurs, but there is no problem in resuming or continuing the operation |
E | error | A situation where an unintended problem occurs and the action can not be continued |
C | critical | Serious error that can not keep the program running |
Log List
This document describes only from info level to critical level.
Main
Tag | Level | Format | Example | Description | Source file |
---|---|---|---|---|---|
| info | Compiled at {date} {time} | Oct 4 2018 09:04:38 | When DRX was compiled. | drx.cpp |
info | System Locale: {locale} | en_US.windows-1252 | Current system locale value. | drx.cpp | |
info | DRX path: {path} | C:\Program Files\DRX | Path where DRX is installed. This value is defined in the environment variable 'DRX_PATH'. | drx.cpp | |
info | EXE path: {path} | C:\Program Files\DRX\bin | The path where the currently executed DRX is located. | drx.cpp | |
info | Starting in foreground mode | - | Read all the settings and the program has been initialized. | drx.cpp | |
info | Starting in daemonize mode | - | Read all the settings and the program has been initialized. | drx.cpp | |
error | Initialization failed | - | Failed to read preferences. | drx.cpp | |
warning | Environment variable 'DRX_PATH' is not exists | - | - | instance.cpp | |
info | Closing drx | - | The last log in the process of terminating the DRX. | core.cpp | |
error | System error at quit. ({error_id}: {message}) | - | System error during DRX shutdown | core.cpp | |
info | Read resources configuration success | - | Read resource-specific settings from DRBD configuration. | core.cpp | |
warning | Read resources configuration failed | - | It can also happen if there is no resource. | core.cpp | |
info | License is available | - | - | core.cpp | |
error | License is not available | - | Exit the program after this log. | core.cpp | |
info | Resource create complete | - | All the configured resources have been created. IPC services are available. | core.cpp | |
info | Create resource [name] | - | - | drx_manager.cpp | |
error | Resource name [name] is already exists | The resource settings are invalid or you tried to add a resource that already exists. | drx_manager.cpp | ||
error | Failed to create resource [name]. {message} | An error occurred during resource creation. Exit the program after this log. | drx_manager.cpp | ||
info | Resource [name] deleted | You have deleted resources through IPC. | drx_manager.cpp | ||
info | IPC service started | - | An IPC server is created. | drx_manager.cpp | |
error | Failed to start IPC service | - | There is little chance of occurrence other than memory shortage. | drx_manager.cpp | |
error | System error while stopping. ({error_id}: {message}) | An error occurred during program termination. | drx_manager.cpp | ||
license | info | Verify license is available | - | The license verification process begins. | drx_manager.cpp |
info | License applied | - | Output when the license is applied with 'set license' command. | drx_manager.cpp | |
error | Failed to get drx path | - | The environment variable 'DRX_PATH' may not exist. | drx_manager.cpp | |
info | Checking license for [file_path] | C:\Program Files\DRX\drx.lic | Check the license file for that path. | drx_manager.cpp | |
error | Failed to initializing license system. {message} | Failed to read the license. The error is the output from RLM. | drx_manager.cpp | ||
error | License file not found at [file_path] | The file does not exist in the specified path. Output when using 'set license' command. | drx_manager.cpp | ||
error | Invalid License {product_name}({message}) | drx(-40) | Your license is invalid or has expired. The error number is from the RLM. | drx_manager.cpp | |
error | License Expired {product_name} | drx | The period has expired and can not be used. The license must be replaced. | drx_manager.cpp | |
info | License Status: {value} | Permanent | drx_manager.cpp | ||
plugins | info | All plugin loaded | plugin_manager.cpp | ||
critical | Failed to load crypto {name}. {message} | Exit the program after this log. | plugin_manager.cpp | ||
info | Crypto plugins loaded: {names} Crypto algorithms: {names} | OPENSSL PLAIN, AES128(OPENSSL) | Completed loading of encryption plugins. | plugin_manager.cpp | |
critical | Failed to load compressor {name}. {message} | Exit the program after this log. | plugin_manager.cpp | ||
info | Compressor plugins loaded: {names} Compressor algorithms: {names} | ZLIB, LZ4 PLAIN, GZIP(ZLIB), LZ4(LZ4) | Completion of loading of compression plugins. | plugin_manager.cpp | |
resource | info | Loading language: [file_path] | C:\Program Files\DRX\lang\english.ini | 'lang' entry in drx.conf | lang.cpp |
warning | Language file [file_path] not found | C:\Program Files\DRX\lang\english.ini | There is no problem running. | lang.cpp |
Config
Tag | Level | Format | Example | Description | Source file |
---|---|---|---|---|---|
info | Configuration loaded. [file_path] | The configuration file is successfully read. After this, apply the setting. | instance.cpp | ||
error | Failed to load [file_path]. {message} | [/opt/DRX/drx.conf]. /opt/DRX/drx.conf: cannot open file | Failed to read configuration file. Exit the program after this log. | instance.cpp | |
info | Configuration file is not exists. [file_path] | Use the default values. | instance.cpp | ||
error | Failed to get drbd configuration: {message} | Can't get drbd configuration. (exit_code: 10) C:\\Program Files\\DRBD\\etc\\drbd.conf:1: Parse error: 'global | common | resource | skip | include' expected, but got '∩' | Failed to read DRBD settings. | config.h | |
info | DRBD configuration output: {standard_output} | Output of DRBD settings. | config.h | ||
info | DRBD '{resource}' configuration update DRBD configuration tokens: {config} | Update the settings of the resource. It is output when adjust command is executed. | config.h | ||
global | warning | Failed to parse connection timeout: {value} ({message}) | 'connect-timeout' entry in drx.conf | config.h | |
warning | Unknown console log level value: {value} | 'loglevel-stdout' entry in drx.conf | config.h | ||
warning | Unknown file log level value: {value} | 'loglevel-file' entry in drx.conf | config.h | ||
warning | Failed to parse log file max size: {value} | 'logfile-max-size' entry in drx.conf | config.h | ||
warning | Failed to parse log file max count: {value} ({message}) | 'logfile-max-count' entry in drx.conf | config.h | ||
warning | Unknown performance log value: {value} | 'performance-log' entry in drx.conf | config.h | ||
warning | Failed to parse process thread count: {value} ({message}) | 'process-thread-count' entry in drx.conf | config.h | ||
warning | Unknown ip verification value: {value} | 'ip-verification' entry in drx.conf | config.h | ||
warning | Failed to parse init timeout: {value} ({message}) | 'init-timeout' entry in drx.conf | config.h | ||
info | Set base dir: {path} | /opt/DRX | 'base-dir' entry in drx.conf | config.h | |
info | Set DRBD path: {path} | /etc/drbd.d/drbd.conf | 'drbd-conf' entry in drx.conf | config.h | |
info | Set connection timeout: {seconds} | 10 | 'connect-timeout' entry in drx.conf | config.h | |
info | Set init timeout: {seconds} | 10 | 'init-timeout' entry in drx.conf | config.h | |
info | Set console log level: {value} | info | 'loglevel-stdout' entry in drx.conf | config.h | |
info | Set file log level: {value} | info | 'loglevel-file' entry in drx.conf | config.h | |
info | Set log file max size: {value} | 10M | 'logfile-max-size' entry in drx.conf | config.h | |
info | Set log file max count: {value} | 10 | 'logfile-max-count' entry in drx.conf | config.h | |
info | Set performance log: {on/off} | off | 'performance-log' entry in drx.conf | config.h | |
info | Set process thread count: {value} | 8 | 'process-thread-count' entry in drx.conf | config.h | |
info | Set IP verification: {on/off} | on | 'ip-verification' entry in drx.conf | config.h |
packet_process_pool
Level | Format | Example | Description | Source File |
---|---|---|---|---|
info | Started (concurrency: {count}) | auto -> 8 | Packet processing thread started. This log will not be output if the configuration is not multithreaded. | packet_process_pool.cpp |
info | Resized to {count} | The number of threads has changed. Output when 'set process-thread-count' is used. | packet_process_pool.cpp | |
info | Stopped | - | Packet processing thread stopped. It is output during program termination. | packet_process_pool.cpp |
error | Load compressor - inconsistency between threads | - | There was a thread-specific difference while loading or unloading one plug-in per thread. Probably there is a problem with the algorithm of the program. | packet_process_pool.cpp |
error | Unload compressor - inconsistency between threads | - | packet_process_pool.cpp | |
error | Load decompressor - inconsistency between threads | - | packet_process_pool.cpp | |
error | Unload decompressor - inconsistency between threads | - | packet_process_pool.cpp | |
error | Load encrypto - inconsistency between threads | - | packet_process_pool.cpp | |
error | Unload encrypto - inconsistency between threads | - | packet_process_pool.cpp | |
error | Load decrypto - inconsistency between threads | - | packet_process_pool.cpp | |
error | Unload decrypto - inconsistency between threads | - | packet_process_pool.cpp | |
error | Compressor ({name}) is not available | If you try to use an unloaded plug-in, it will be output. | packet_processor.cpp | |
error | Compressor algorithm ({name}) is not available | If you try to use an unloaded plug-in, it will be output. | packet_processor.cpp | |
error | Crypto ({name}) is not available | If you try to use an unloaded plug-in, it will be output. | packet_processor.cpp | |
error | Failed to initialize {name} encrypto stream. ({message}) | The plug-in file may be broken. | packet_processor.cpp | |
error | Crypto algorithm ({name}) is not available | If you try to use an unloaded plug-in, it will be output. | packet_processor.cpp | |
error | Failed to initialize {name} decrypto stream. ({message}) | The plug-in file may be broken. | packet_processor.cpp | |
error | Compress stream error. ({error_id}) | The data or plug-in files may be broken. | packet_processor.cpp | |
error | Decompress stream error. ({error_id}) | The data or plug-in files may be broken. | packet_processor.cpp | |
error | Encrypt stream error. ({error_id}) | The data or plug-in files may be broken. | packet_processor.cpp | |
error | Decrypt stream error. ({error_id}) | The data or plug-in files may be broken. | packet_processor.cpp |
Resource-specific logger
Resource-specific loggers are assigned the name of the resource as the name of the logger.
Each resource consists of two channels, so it has the following tags.
{connection direction}{channel type}
In addition, since each channel is composed of two proxy connections, the detailed tag of each connection is as follows.
{connection direction}{channel type}:{proxy location}
Details by tag
Each item
Item | Value | Description |
---|---|---|
Connection direction | a | Acceptor. (Local DRBD → Local DRX ← Remote DRX) |
c | Connector. (Local DRBD ← Local DRX → Remote DRX) | |
Channel type | - | Undefined. It is determined after connecting with DRBD. |
m | Meta channel | |
d | Data channel | |
Proxy location | i | Inside. Connection with local DRBD. |
o | Outside. Connection with remote DRX. |
Assuming that the resource name is 'r0', a logger with the following configuration exists.
Resource | Channel type | Proxy location | Tag |
---|---|---|---|
r0 | - | - | r0 |
Acceptor | - | r0:a | |
Inside | r0:a-:i | ||
Outside | r0:a-:o | ||
Connector | - | r0:c | |
Inside | r0:c-:i | ||
Outside | r0:c-:o |
Log List
Tag | Level | Format | Example | Description | Source file |
---|---|---|---|---|---|
info | Start resource Inside local({IP:Port}) <-> drbd({IP:Port}) Outside local({IP:Port}) <-> remote({IP:Port}) | Starts the connection of the resource. | drx_manager.cpp | ||
error | Crypto ({name}) is not available | When an unloaded plugin is set. | drx_packet.cpp | ||
error | Encrypto plugin ({name}) initialization failed. (error_id: {error_id}) | The plug-in file may be broken. | drx_packet.cpp | ||
error | Decrypto plugin ({name}) initialization failed. (error_id: {error_id}) | The plug-in file may be broken. | drx_packet.cpp | ||
error | Failed to encrypt stream. (error_id: {error_id}) | The data or plug-in files may be broken. | drx_packet.cpp | ||
error | Failed to decrypt stream. (error_id: {error_id}) | The data or plug-in files may be broken. | drx_packet.cpp | ||
error | Compressor ({name}) is not available | When an unloaded plugin is set. | drx_packet.cpp | ||
error | Compressor algorithm ({name}) is not available | There is no plug-in to support remote DRX's compression algorithm. | drx_packet.cpp | ||
error | Failed to compress stream. (error_id: {error_id}) | The data or plug-in files may be broken. | drx_packet.cpp | ||
error | Failed to decompress stream. (error_id: {error_id}) | The data or plug-in files may be broken. | drx_packet.cpp | ||
a- c- | info | Connector created | - | Inside proxy created. | drx_channel.cpp |
error | Failed to create connector | - | Inside proxy creation failed. There is almost no possibility except memory shortage. | drx_channel.cpp | |
info | Linker created | - | Outside proxy created. | drx_channel.cpp | |
error | Failed to create linker | - | Outside proxy creation failed. There is almost no possibility except memory shortage. | drx_channel.cpp | |
info | Channel state changed to ({type}) | bridging, bridged, established and so on | drx_channel.cpp | ||
info | Channel type changed to ({type}) | meta or data | Channel type changed by DRBD connection. | drx_channel.cpp | |
info | Connector & Linker initialized | - | Channel is ready to run. | drx_channel.cpp | |
error | Linker initialization failed | - | Does not occur. | drx_channel.cpp | |
error | Connector initialization failed | - | Does not occur. | drx_channel.cpp | |
info | Start channel | - | The channel's thread was executed. | drx_channel.cpp | |
info | Channel type duplicated. ({type} channel) | meta or data | The channel is a duplicate and will be disconnected. | drx_channel.cpp | |
info | Set memory limit: {value} | 100M | Does not occur. | channel_info.cpp | |
info | Set bandwidth limit: {value} | 10M | channel_info.cpp | ||
info | Set outbound inside connection: {IP}:{Port} | Does not occur. | channel_info.cpp | ||
info | Set outbound outside connection: {IP}:{Port} | Does not occur. | channel_info.cpp | ||
info | Set inbound inside connection: {IP}:{Port} | Does not occur. | Does not occur. | channel_info.cpp | |
info | Set inbound outside connection: {IP}:{Port} | Does not occur. | channel_info.cpp | ||
info | Set compressor: {name} | NONE, ZLIB, IQA, LZ4 | channel_info.cpp | ||
info | Set compressor level: {num} | 0~9 | channel_info.cpp | ||
info | Set crypto: {name} | NONE, OPENSSL | channel_info.cpp | ||
info | Set crypto key file: {file_path} | Does not occur. | channel_info.cpp | ||
info | Set block size: {value} | channel_info.cpp | |||
info | Set minimum raw block size: {value} | channel_info.cpp | |||
a-:i a-:o | info | Start accept | - | drx_session_impl.cpp | |
c-:i c-:o | info | Start connect | - | drx_session_impl.cpp | |
[ac][-md]:i | warning | System error while disconnect. ({error_id}: {message}) | It is mostly the case that the connection is terminated already. | drx_session_impl.cpp | |
warning | Initialization timeout. ({secs} seconds) | 10 | Timeout occurs after sending and receiving initialization packet after connection. It is likely to be a network problem. | drx_session_impl.cpp | |
Inside [ac][-md]:i | warning | Send to drbd failed. ({error_id}: {message}) | Already disconnected or will be disconnect after this. | drx_connector.cpp | |
info | Start RX BAB sender | Initiate a transfer to the local DRBD. | drx_connector.cpp | ||
info | Flushing RX BAB | Transferring all remaining data to DRBD. | drx_connector.cpp | ||
info | Stopping RX BAB sender | drx_connector.cpp | |||
error | Failed to pop all datas from RX BAB | Program is terminated during data transfer | drx_connector.cpp | ||
warning | Failed to receive. ({error_id}: {message}) | Already disconnected or will be disconnect after this. | drx_connector.cpp | ||
info | Start TX BAB receiver | Start writing the data read from DRBD to the buffer. | drx_connector.cpp | ||
warn | not yet bridged | The connection to the remote DRX was lost while preparing the buffer. | drx_connector.cpp | ||
warn | Failed to receive from drbd. ({error_id}: {message}) | Failed to read data from DRBD. | drx_connector.cpp | ||
info | TX BAB receiver stopped | drx_connector.cpp | |||
warning | Receive timeout | Timeout occurs while reading data from DRBD. | drx_connector.cpp | ||
Inside Acceptor a[-md]:i | error | Accept failed. ({error_id}: {message}) | Ex) The port number is being used elsewhere. | drx_connector.cpp | |
error | Get remote endpoint failed. ({error_id}: {message}) | Disconnected immediately after connecting | drx_connector.cpp | ||
info | Accepted. (client: {DRBD IP}:{DRBD Port}) | DRBD connected. Waiting for the channel type. | drx_connector.cpp | ||
warn | Receive magic packet failed. ({error_id}: {message}) | Already disconnected or will be disconnect after this. | drx_connector.cpp | ||
error | Unknown channel received | Peer is not a DRBD or is an incompatible version. | drx_connector.cpp | ||
info | Buddy channel got the same type. ({type}) | meta or data | Channel type is a duplicate and will be disconnected. | drx_connector.cpp | |
error | Accept exception. [{DRX IP}:{DRX Port}] ({error_id}: {message}) | drx_connector.cpp | |||
error | Accept exception. ({message}) | drx_connector.cpp | |||
Inside Connector c[-md]:i | error | Set buffer size failed. ({message}) | It will be disconnect after this. | drx_connector.cpp | |
warning | Connect to drbd failed. [{DRBD IP}:{DRBD Port}] ({error_id}: {message}) | Check the DRBD resource settings and firewall. | drx_connector.cpp | ||
info | Connected at [{DRBD IP}:{DRBD Port}] | drx_connector.cpp | |||
info | This is not active channel. Reject | This can occur if the connection between the remote DRX and the remote DRBD is lost during the connection with DRBD. | drx_connector.cpp | ||
Outside [ac][-md]:o | info | Local configuration: | Local configuration: block-size: 1.00 MB compressor selected: ZLIB level 1 crypto selected: NONE compressors available: ZLIB, LZMA cryptos available: OPENSSL | It is output during connection preparation with remote DRX. | drx_link.cpp |
info | Local configuration: block-size: {value} compressor selected: {name} crypto selected: {name} compressors available: {name_list} cryptos available: {name_list} | After connection with remote DRX, It is output when it is confirmed that the peer is DRX. | drx_link.cpp | ||
error | Unknown initialize packet received. (type: {value}) | A numeric value that corresponds to the channel type. | Peer is not DRX or has a different version. | drx_link.cpp | |
error | Remote crypto configuration not available. (remote: {value}) | OPENSSL | Some plug-ins are not loaded. It will be disconnect after this. | drx_link.cpp | |
error | Remote compressor configuration not available. (remote: {value}) | LZ4 level 1 | Some plug-ins are not loaded. It will be disconnect after this. | drx_link.cpp | |
warning | Wrong size header received. (read: {size}, requested: {size}, payload: {size}, error: {error_id}) | This can happen if the connection is lost during transmission. It will be disconnect after this. | drx_link.cpp | ||
warning | Receive header failed. ({error_id}: {message}) | Already disconnected or will be disconnect after this. | drx_link.cpp | ||
warning | Wrong size payload received. (read: {size}, requested: {size}, error: {error_id}) | This can happen if the connection is lost during transmission. It will be disconnect after this. | drx_link.cpp | ||
warning | Receive payload failed. ({error_id}: {message}) | Already disconnected or will be disconnect after this. | drx_link.cpp | ||
error | RX BAB not configured | It will be disconnect after this. | drx_link.cpp | ||
info | Channel type received. ({type}) | drbd_meta or drbd_data | If the same channel is already connected, will be disconnect it. | drx_link.cpp | |
warn | Event received ({value}) | It will be disconnect after this. | drx_link.cpp | ||
error | Unhandled header received ({value}) | Version with remote DRX may not match. | drx_link.cpp | ||
info | Start TX BAB sender (memlimit: {}, bwlimit: {}, blocksize: {}, min-raw-block-size: {}) | Starts data transfer using compression or encryption. | drx_link.cpp | ||
info | Start TX BAB sender (memlimit: {}, bwlimit: {}, blocksize: {}) | Starts data transfer not using compression or encryption. | drx_link.cpp | ||
info | Flushing TX BAB | After disconnected, transferring remaining data from TX BAB to remote DRX | drx_link.cpp | ||
info | Stopping TX BAB sender | drx_link.cpp | |||
error | Failed to pop all datas from TX BAB | Resource was terminated while flushing the TX BAB. | drx_link.cpp | ||
warning | Send event {value} failed. ({error_id}: {message}) | Already disconnected or will be disconnect after this. | drx_link.cpp | ||
warning | Send stream failed. ({error_id}: {message}) | Already disconnected or will be disconnect after this. | drx_link.cpp | ||
drx_link.cpp | |||||
Outside Connector c[-md]:o | warning | Connect to remote drx failed. [{remote DRX IP}:{remote DRX Port}] ({error_id}: {message}) | Check the remote DRX status and firewall. | drx_link.cpp | |
info | Connected at [{remote DRX IP}:{remote DRX Port}] | After this, socket setup and initialization packet exchange are started. | drx_link.cpp | ||
error | Set socket options failed. ({message}) | It will be disconnect after this. | drx_link.cpp | ||
warning | Send init packet failed. ({error_id}:{message}) | Already disconnected or will be disconnect after this. | drx_link.cpp | ||
warning | Receive response packet failed. ({error_id}: {message}) | Already disconnected or will be disconnect after this. | drx_link.cpp | ||
warning | Error while making init conversation between remote drx: {data} | It will be disconnect after this. | drx_link.cpp | ||
warning | Failed to receive init packet failed. ({error_id}: {message}) | Already disconnected or will be disconnect after this. | drx_link.cpp | ||
warning | Send response packet failed. ({error_id}: {message}) | Already disconnected or will be disconnect after this. | drx_link.cpp | ||
Outside Acceptor a[-md]:o | error | Accept failed. ({error_id}: {message}) | In most cases, the port number is already being used elsewhere. | drx_link.cpp | |
error | Get remote endpoint failed. ({error_id}: {message}) | Disconnected immediately after connecting. | drx_link.cpp | ||
info | Accepted. (client: {remote DRX IP}:{remote DRX Port}) | After this, socket setup and initialization packet exchange are started. | drx_link.cpp | ||
warning | Receive init packet failed. ({error_id}: {message}) | Already disconnected or will be disconnect after this. | drx_link.cpp | ||
warning | Send response packet failed. ({error_id}: {message}) | Already disconnected or will be disconnect after this. | drx_link.cpp | ||
warning | Send init packet failed. ({error_id}: {message}) | Already disconnected or will be disconnect after this. | drx_link.cpp | ||
warning | Receive response packet failed. ({error_id}: {message}) | Already disconnected or will be disconnect after this. | drx_link.cpp | ||
warning | Error while making init conversation between remote drx: {data} | It will be disconnect after this. | drx_link.cpp | ||
error | Accept exception. [{local DRX IP}:{local DRX Port}] ({error_id}:{message}) | drx_link.cpp | |||
error | Accept exception: {message} | drx_link.cpp | |||
TX BAB RX BAB | info | {size} bytes allocated | 1GB | allocator.h | |
error | Allocating {size} bytes failed | 10GB | Out of memory. | allocator.h | |
info | {size} bytes freed | 1GB | allocator.h | ||
error | TX BAB is too small. Please set it to {size} bytes or more. | You should reduce the block-size or increase the size of the TX BAB. | allocator.h | ||
error | block-size is too big. Please set it to {size} bytes or less. | You should reduce the block-size. | allocator.h | ||
error | Failed to allocate memory. {message} | Out of memory. | ring_buffer.cpp | ||
error | Failed to encrypt packet. buffer_size: {size}, encrypted_size: {size} | The length of the encrypted data is longer than the buffer length and can not be buffered. | packet_processor.cpp | ||
error | Failed to decrypt packet. buffer_size: {size}, decrypted_size: {size} | The length of the decrypted data is longer than the buffer length and can not be buffered.. | packet_processor.cpp | ||
error | Failed to decompress packet. buffer_size: {size}, decompressed_size: {size} | The length of the decompressed data is longer than the buffer length and can not be buffered. | packet_processor.cpp | ||
error | Failed to decompress at {index} sizes: {original_size}, {buffer_size} | Unsuccessful decompression due to invalid data or compression algorithm is not supported. | packet_processor.cpp | ||
error | Compress stream error. ({error_id}) | packet_processor.cpp | |||
error | Decompress stream error. ({error_id}) | packet_processor.cpp | |||
error | Encrypt stream error. ({error_id}) | packet_processor.cpp | |||
error | Decrypt stream error. ({error_id}) | packet_processor.cpp |
IPC
Tag | Level | Format | Description | Source file |
---|---|---|---|---|
error | Error on accept. ({error_id}: {message}) | In most cases, the port number is already being used elsewhere. | ipc_server.cpp | |
events | info | Notification start | It is output at program start. | ipc_event_notifier.cpp |
info | Notification stopped | It is output during program termination. | ipc_event_notifier.cpp | |
warning | Failed to get client endpoint. ({error_id}: {message}) | Disconnected immediately after connecting. | ipc_event_notifier.cpp | |
info | client removed {IP}:{Port} | Client disconnected to query IPC events. | ipc_event_notifier.cpp | |
info | client added {IP}:{Port} | A client has been connected to query IPC events. | ipc_event_notifier.cpp | |
{IP}:{Port} | warning | Data transfer failed. ({error_id}: {message}) | ipc_server.cpp | |
error | Error on payload. ({message}) | In addition to data transfer, there may have been an error processing the IPC service. | ipc_server.cpp |
crash_handler
Level | Format | Example | Description | Source file |
---|---|---|---|---|
info | Signal: {type} | SIGINT or SIGTERM | SIGINT occurs when exiting with Ctrl + C, and SIGTERM occurs when kill by external. After this message, It will be exit the program normally. | handler.cpp |
warning | Failed to register signal handler for {type} | SIGABRT, SIGFPE, SIGILL, SIGSEGV | The program or environments may be unusual. | handler.cpp |
critical | Signal handling | A termination signal has been detected. (linux) | handler.cpp | |
critical | Exception handling (Unhandled) | A termination signal has been detected. (windows) | handler.cpp | |
critical | Exception handling (Vectored) | A termination signal has been detected. (windows) | handler.cpp | |
critical | Fatal exception: {type} stackdump [frame] {symbol_address} {function} ({filename:line}) | Exception type and call stack output | stacktrace_linux.cpp stacktrace_windows.cpp |