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.

FilePathContent
main log file{DRX installed path}/logs/main.logDRX operation. Exclude actions by resources
resource-specific log file{DRX installed path}/logs/{resource_name}/{resource_name}.logBehavior 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:

OptionShortcutDescription
--include-main-mPrint 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.

ItemValueFormatDescription
loglevel-stdoutLog leveltrace, debug, info, warning, error, critical, offSpecifies the level of the standard output log.
loglevel-fileLog leveltrace, debug, info, warning, error, critical, offSpecifies the level of the log output to the file.
logfile-max-sizeFile sizeBytes (ex: 10MB)When the log file reaches the specified capacity, the current log file is archived and a new one is created.
logfile-max-countFile countNumberMaximum 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

ItemFormatExampleDescription
log level/date{level}{date}

I1004
C0928

Print log level and date without spaces.
Log levels are described below.

timehour:min:sec.microsec16:44:13.790530-
threadt{thread ID}t3056The thread ID that generated the log.
loggerlogger namemainLogger name for dividing log category.
tagtag namelicense
c-:o
Represents a subrange of the logger, or represents the details of the channel.

Log Level

AbbreviationLevelRange
TtraceVery detailed operation log
DdebugUsed when problems arise that require debugging
IinfoGeneral information such as state change or behavior
WwarningA situation where an unintended problem occurs, but there is no problem in resuming or continuing the operation
EerrorA situation where an unintended problem occurs and the action can not be continued
CcriticalSerious error that can not keep the program running

Log List

This document describes only from info level to critical level.

Main

TagLevelFormatExampleDescriptionSource file





















infoCompiled at {date} {time}Oct 4 2018 09:04:38When DRX was compiled.drx.cpp
infoSystem Locale: {locale}en_US.windows-1252Current system locale value.drx.cpp
infoDRX path: {path}C:\Program Files\DRXPath where DRX is installed.
This value is defined in the environment variable 'DRX_PATH'.
drx.cpp
infoEXE path: {path}C:\Program Files\DRX\binThe path where the currently executed DRX is located.drx.cpp
infoStarting in foreground mode-Read all the settings and the program has been initialized.drx.cpp
infoStarting in daemonize mode-Read all the settings and the program has been initialized.drx.cpp
errorInitialization failed-Failed to read preferences.drx.cpp
warningEnvironment variable 'DRX_PATH' is not exists--instance.cpp
infoClosing drx-The last log in the process of terminating the DRX.core.cpp
errorSystem error at quit. ({error_id}: {message})-System error during DRX shutdowncore.cpp
infoRead resources configuration success-Read resource-specific settings from DRBD configuration.core.cpp
warningRead resources configuration failed-It can also happen if there is no resource.core.cpp
infoLicense is available--core.cpp
errorLicense is not available-Exit the program after this log.core.cpp
infoResource create complete-All the configured resources have been created. IPC services are available.core.cpp
info

Create resource [name]

--drx_manager.cpp
errorResource name [name] is already exists
The resource settings are invalid or you tried to add a resource that already exists.drx_manager.cpp
errorFailed to create resource [name]. {message}
An error occurred during resource creation. Exit the program after this log.drx_manager.cpp
infoResource [name] deleted
You have deleted resources through IPC.drx_manager.cpp
infoIPC service started-An IPC server is created.drx_manager.cpp
errorFailed to start IPC service-There is little chance of occurrence other than memory shortage.drx_manager.cpp
errorSystem error while stopping. ({error_id}: {message})
An error occurred during program termination.drx_manager.cpp
licenseinfoVerify license is available-The license verification process begins.drx_manager.cpp
infoLicense applied-Output when the license is applied with 'set license' command.drx_manager.cpp
errorFailed to get drx path-The environment variable 'DRX_PATH' may not exist.drx_manager.cpp
infoChecking license for [file_path]C:\Program Files\DRX\drx.licCheck the license file for that path.drx_manager.cpp
errorFailed to initializing license system. {message}
Failed to read the license. The error is the output from RLM.drx_manager.cpp
errorLicense file not found at [file_path]
The file does not exist in the specified path. Output when using 'set license' command.drx_manager.cpp
errorInvalid License {product_name}({message})drx(-40)Your license is invalid or has expired. The error number is from the RLM.drx_manager.cpp
errorLicense Expired {product_name}drxThe period has expired and can not be used. The license must be replaced.drx_manager.cpp
infoLicense Status: {value}Permanent
drx_manager.cpp
plugins



infoAll plugin loaded

plugin_manager.cpp
criticalFailed to load crypto {name}. {message}
Exit the program after this log.plugin_manager.cpp
infoCrypto plugins loaded: {names}
Crypto algorithms: {names}
OPENSSL
PLAIN, AES128(OPENSSL)
Completed loading of encryption plugins.plugin_manager.cpp
criticalFailed to load compressor {name}. {message}
Exit the program after this log.plugin_manager.cpp
infoCompressor plugins loaded: {names}
Compressor algorithms: {names}
ZLIB, LZ4
PLAIN, GZIP(ZLIB), LZ4(LZ4)
Completion of loading of compression plugins.plugin_manager.cpp
resourceinfoLoading language: [file_path]C:\Program Files\DRX\lang\english.ini'lang' entry in drx.conflang.cpp
warningLanguage file [file_path] not foundC:\Program Files\DRX\lang\english.iniThere is no problem running.lang.cpp

Config

TagLevelFormatExampleDescriptionSource file




infoConfiguration loaded. [file_path]
The configuration file is successfully read. After this, apply the setting.instance.cpp
errorFailed to load [file_path]. {message}[/opt/DRX/drx.conf]. /opt/DRX/drx.conf: cannot open fileFailed to read configuration file. Exit the program after this log.instance.cpp
infoConfiguration file is not exists. [file_path]
Use the default values.instance.cpp
error

Failed to get drbd configuration: {message}
Output: {error_output}

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
infoDRBD configuration output: {standard_output}
Output of DRBD settings.config.h
infoDRBD '{resource}' configuration update
DRBD configuration tokens: {config}

Update the settings of the resource. It is output when adjust command is executed.config.h
globalwarningFailed to parse connection timeout: {value} ({message})
'connect-timeout' entry in drx.confconfig.h
warningUnknown console log level value: {value}
'loglevel-stdout' entry in drx.confconfig.h
warningUnknown file log level value: {value}
'loglevel-file' entry in drx.confconfig.h
warningFailed to parse log file max size: {value}
'logfile-max-size' entry in drx.confconfig.h
warningFailed to parse log file max count: {value} ({message})
'logfile-max-count' entry in drx.confconfig.h
warningUnknown performance log value: {value}
'performance-log' entry in drx.confconfig.h
warningFailed to parse process thread count: {value} ({message})
'process-thread-count' entry in drx.confconfig.h
warningUnknown ip verification value: {value}
'ip-verification' entry in drx.confconfig.h
warningFailed to parse init timeout: {value} ({message})
'init-timeout' entry in drx.confconfig.h
infoSet base dir: {path}/opt/DRX'base-dir' entry in drx.confconfig.h
infoSet DRBD path: {path}/etc/drbd.d/drbd.conf'drbd-conf' entry in drx.confconfig.h
infoSet connection timeout: {seconds}10'connect-timeout' entry in drx.confconfig.h
infoSet init timeout: {seconds}10'init-timeout' entry in drx.confconfig.h
infoSet console log level: {value}info'loglevel-stdout' entry in drx.confconfig.h
infoSet file log level: {value}info'loglevel-file' entry in drx.confconfig.h
infoSet log file max size: {value}10M'logfile-max-size' entry in drx.confconfig.h
infoSet log file max count: {value}10'logfile-max-count' entry in drx.confconfig.h
infoSet performance log: {on/off}off'performance-log' entry in drx.confconfig.h
infoSet process thread count: {value}8'process-thread-count' entry in drx.confconfig.h
infoSet IP verification: {on/off}on'ip-verification' entry in drx.confconfig.h

packet_process_pool

LevelFormatExampleDescriptionSource File
infoStarted (concurrency: {count})auto -> 8Packet processing thread started.
This log will not be output if the configuration is not multithreaded.
packet_process_pool.cpp
infoResized to {count}
The number of threads has changed. Output when 'set process-thread-count' is used.packet_process_pool.cpp
infoStopped-Packet processing thread stopped. It is output during program termination.packet_process_pool.cpp
errorLoad 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.
You need to patch it with the modified version.

packet_process_pool.cpp
errorUnload compressor - inconsistency between threads-packet_process_pool.cpp
errorLoad decompressor - inconsistency between threads-packet_process_pool.cpp
errorUnload decompressor - inconsistency between threads-packet_process_pool.cpp
errorLoad encrypto - inconsistency between threads-packet_process_pool.cpp
errorUnload encrypto - inconsistency between threads-packet_process_pool.cpp
errorLoad decrypto - inconsistency between threads-packet_process_pool.cpp
errorUnload decrypto - inconsistency between threads-packet_process_pool.cpp
errorCompressor ({name}) is not available
If you try to use an unloaded plug-in, it will be output.packet_processor.cpp
errorCompressor algorithm ({name}) is not available
If you try to use an unloaded plug-in, it will be output.packet_processor.cpp
errorCrypto ({name}) is not available
If you try to use an unloaded plug-in, it will be output.packet_processor.cpp
errorFailed to initialize {name} encrypto stream. ({message})
The plug-in file may be broken.packet_processor.cpp
errorCrypto algorithm ({name}) is not available
If you try to use an unloaded plug-in, it will be output.packet_processor.cpp
errorFailed to initialize {name} decrypto stream. ({message})
The plug-in file may be broken.packet_processor.cpp
errorCompress stream error. ({error_id})
The data or plug-in files may be broken.packet_processor.cpp
errorDecompress stream error. ({error_id})
The data or plug-in files may be broken.packet_processor.cpp
errorEncrypt stream error. ({error_id})
The data or plug-in files may be broken.packet_processor.cpp
errorDecrypt 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

ItemValueDescription
Connection directiona​Acceptor. (Local DRBD → Local DRX ← Remote DRX)
cConnector. (Local DRBD ← Local DRX → Remote DRX)
Channel type-Undefined. It is determined after connecting with DRBD.
mMeta channel
dData channel
Proxy locationiInside. Connection with local DRBD.
oOutside. Connection with remote DRX.

Assuming that the resource name is 'r0', a logger with the following configuration exists.

ResourceChannel typeProxy locationTag
​r0





-

-r0​
Acceptor

-r0:a
Inside​r0:a-:i
Outsider0:a-:o
Connector

-r0:c
Insider0:c-:i
Outsider0:c-:o

Log List

TagLevelFormatExampleDescriptionSource file










infoStart resource
 Inside  local({IP:Port}) <-> drbd({IP:Port})
 Outside local({IP:Port}) <-> remote({IP:Port})

Starts the connection of the resource.drx_manager.cpp
errorCrypto ({name}) is not available
When an unloaded plugin is set.drx_packet.cpp
errorEncrypto plugin ({name}) initialization failed. (error_id: {error_id})
The plug-in file may be broken.drx_packet.cpp
errorDecrypto plugin ({name}) initialization failed. (error_id: {error_id})
The plug-in file may be broken.drx_packet.cpp
errorFailed to encrypt stream. (error_id: {error_id})
The data or plug-in files may be broken.drx_packet.cpp
errorFailed to decrypt stream. (error_id: {error_id})
The data or plug-in files may be broken.drx_packet.cpp
errorCompressor ({name}) is not available
When an unloaded plugin is set.drx_packet.cpp
errorCompressor algorithm ({name}) is not available
There is no plug-in to support remote DRX's compression algorithm.drx_packet.cpp
errorFailed to compress stream. (error_id: {error_id})
The data or plug-in files may be broken.drx_packet.cpp
errorFailed to decompress stream. (error_id: {error_id})
The data or plug-in files may be broken.drx_packet.cpp

a-
am
ad

c-
cm
cd

infoConnector created-Inside proxy created.drx_channel.cpp
errorFailed to create connector-Inside proxy creation failed. There is almost no possibility except memory shortage.drx_channel.cpp
infoLinker created-Outside proxy created.drx_channel.cpp
errorFailed to create linker-Outside proxy creation failed. There is almost no possibility except memory shortage.drx_channel.cpp
infoChannel state changed to ({type})bridging, bridged, established and so on
drx_channel.cpp
infoChannel type changed to ({type})meta or dataChannel type changed by DRBD connection.drx_channel.cpp
infoConnector & Linker initialized-Channel is ready to run.drx_channel.cpp
errorLinker initialization failed-Does not occur.drx_channel.cpp
errorConnector initialization failed-Does not occur.drx_channel.cpp
infoStart channel-The channel's thread was executed.drx_channel.cpp
infoChannel type duplicated. ({type} channel)meta or dataThe channel is a duplicate and will be disconnected.drx_channel.cpp
infoSet memory limit: {value}100MDoes not occur.channel_info.cpp
infoSet bandwidth limit: {value}10M
channel_info.cpp
infoSet outbound inside connection: {IP}:{Port}
Does not occur.channel_info.cpp
infoSet outbound outside connection: {IP}:{Port}
Does not occur.channel_info.cpp
infoSet inbound inside connection: {IP}:{Port}Does not occur.Does not occur.channel_info.cpp
infoSet inbound outside connection: {IP}:{Port}
Does not occur.channel_info.cpp
infoSet compressor: {name}NONE, ZLIB, IQA, LZ4
channel_info.cpp
infoSet compressor level: {num}0~9
channel_info.cpp
infoSet crypto: {name}NONE, OPENSSL
channel_info.cpp
infoSet crypto key file: {file_path}
Does not occur.channel_info.cpp
infoSet block size: {value}

channel_info.cpp
infoSet minimum raw block size: {value}

channel_info.cpp
a-:i
a-:o
infoStart accept-
drx_session_impl.cpp
c-:i
c-:o
infoStart connect-
drx_session_impl.cpp

[ac][-md]:i
[ac][-md]:o

warningSystem error while disconnect. ({error_id}: {message})
It is mostly the case that the connection is terminated already.drx_session_impl.cpp
warningInitialization timeout. ({secs} seconds)10Timeout 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

warningSend to drbd failed. ({error_id}: {message})
Already disconnected or will be disconnect after this.drx_connector.cpp
infoStart RX BAB sender
Initiate a transfer to the local DRBD.drx_connector.cpp
infoFlushing RX BAB
Transferring all remaining data to DRBD.drx_connector.cpp
infoStopping RX BAB sender

drx_connector.cpp
errorFailed to pop all datas from RX BAB
Program is terminated during data transferdrx_connector.cpp
warningFailed to receive. ({error_id}: {message})
Already disconnected or will be disconnect after this.drx_connector.cpp
infoStart TX BAB receiver
Start writing the data read from DRBD to the buffer.drx_connector.cpp
warnnot yet bridged
The connection to the remote DRX was lost while preparing the buffer.drx_connector.cpp
warnFailed to receive from drbd. ({error_id}: {message})
Failed to read data from DRBD.drx_connector.cpp
infoTX BAB receiver stopped

drx_connector.cpp
warningReceive timeout
Timeout occurs while reading data from DRBD.drx_connector.cpp

Inside Acceptor

a[-md]:i

errorAccept failed. ({error_id}: {message})
Ex) The port number is being used elsewhere.drx_connector.cpp
errorGet remote endpoint failed. ({error_id}: {message})
Disconnected immediately after connectingdrx_connector.cpp
infoAccepted. (client: {DRBD IP}:{DRBD Port})
DRBD connected. Waiting for the channel type.drx_connector.cpp
warnReceive magic packet failed. ({error_id}: {message})
Already disconnected or will be disconnect after this.drx_connector.cpp
errorUnknown channel received

Peer is not a DRBD or is an incompatible version.

drx_connector.cpp
infoBuddy channel got the same type. ({type})meta or dataChannel type is a duplicate and will be disconnected.drx_connector.cpp
errorAccept exception. [{DRX IP}:{DRX Port}] ({error_id}: {message})

drx_connector.cpp
errorAccept exception. ({message})

drx_connector.cpp

Inside Connector

c[-md]:i

errorSet buffer size failed. ({message})
It will be disconnect after this.drx_connector.cpp
warningConnect to drbd failed. [{DRBD IP}:{DRBD Port}] ({error_id}: {message})
Check the DRBD resource settings and firewall.drx_connector.cpp
infoConnected at [{DRBD IP}:{DRBD Port}]

drx_connector.cpp
infoThis 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:
 block-size: {value}
 compressor selected: {name}
 crypto selected: {name}
 compressors available: {name_list}
 cryptos available: {name_list}

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
infoLocal 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
errorUnknown 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
errorRemote crypto configuration not available. (remote: {value})OPENSSL

Some plug-ins are not loaded. It will be disconnect after this.

drx_link.cpp
errorRemote compressor configuration not available. (remote: {value})LZ4 level 1Some plug-ins are not loaded. It will be disconnect after this.drx_link.cpp
warningWrong 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
warningReceive header failed. ({error_id}: {message})
Already disconnected or will be disconnect after this.drx_link.cpp
warningWrong 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
warningReceive payload failed. ({error_id}: {message})
Already disconnected or will be disconnect after this.drx_link.cpp
errorRX BAB not configured
It will be disconnect after this.drx_link.cpp
infoChannel type received. ({type})drbd_meta or drbd_dataIf the same channel is already connected, will be disconnect it.drx_link.cpp
warnEvent received ({value})
It will be disconnect after this.drx_link.cpp
errorUnhandled header received ({value})
Version with remote DRX may not match.drx_link.cpp
infoStart TX BAB sender (memlimit: {}, bwlimit: {}, blocksize: {}, min-raw-block-size: {})

Starts data transfer using compression or encryption.

drx_link.cpp
infoStart TX BAB sender (memlimit: {}, bwlimit: {}, blocksize: {})

Starts data transfer not using compression or encryption.

drx_link.cpp
infoFlushing TX BAB
After disconnected, transferring remaining data from TX BAB to remote DRXdrx_link.cpp
infoStopping TX BAB sender

drx_link.cpp
errorFailed to pop all datas from TX BAB
Resource was terminated while flushing the TX BAB.drx_link.cpp
warningSend event {value} failed. ({error_id}: {message})
Already disconnected or will be disconnect after this.drx_link.cpp
warningSend stream failed. ({error_id}: {message})
Already disconnected or will be disconnect after this.drx_link.cpp




drx_link.cpp

Outside Connector

c[-md]:o

warningConnect to remote drx failed. [{remote DRX IP}:{remote DRX Port}] ({error_id}: {message})

Check the remote DRX status and firewall.

drx_link.cpp
infoConnected at [{remote DRX IP}:{remote DRX Port}]
After this, socket setup and initialization packet exchange are started.drx_link.cpp
errorSet socket options failed. ({message})
It will be disconnect after this.drx_link.cpp
warningSend init packet failed. ({error_id}:{message})
Already disconnected or will be disconnect after this.drx_link.cpp
warningReceive response packet failed. ({error_id}: {message})
Already disconnected or will be disconnect after this.drx_link.cpp
warningError while making init conversation between remote drx: {data}
It will be disconnect after this.drx_link.cpp
warningFailed to receive init packet failed. ({error_id}: {message})
Already disconnected or will be disconnect after this.drx_link.cpp
warningSend response packet failed. ({error_id}: {message})
Already disconnected or will be disconnect after this.drx_link.cpp

Outside Acceptor

a[-md]:o

errorAccept failed. ({error_id}: {message})
In most cases, the port number is already being used elsewhere.drx_link.cpp
errorGet remote endpoint failed. ({error_id}: {message})
Disconnected immediately after connecting.drx_link.cpp
infoAccepted. (client: {remote DRX IP}:{remote DRX Port})
After this, socket setup and initialization packet exchange are started.drx_link.cpp
warningReceive init packet failed. ({error_id}: {message})
Already disconnected or will be disconnect after this.drx_link.cpp
warningSend response packet failed. ({error_id}: {message})
Already disconnected or will be disconnect after this.drx_link.cpp
warningSend init packet failed. ({error_id}: {message})
Already disconnected or will be disconnect after this.drx_link.cpp
warningReceive response packet failed. ({error_id}: {message})
Already disconnected or will be disconnect after this.drx_link.cpp
warningError while making init conversation between remote drx: {data}
It will be disconnect after this.drx_link.cpp
errorAccept exception. [{local DRX IP}:{local DRX Port}] ({error_id}:{message})

drx_link.cpp
errorAccept exception: {message}

drx_link.cpp

TX BAB

RX BAB

info{size} bytes allocated1GB
allocator.h
errorAllocating {size} bytes failed10GBOut of memory.allocator.h
info{size} bytes freed1GB
allocator.h
errorTX 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
errorblock-size is too big. Please set it to {size} bytes or less.
You should reduce the block-size.allocator.h
errorFailed to allocate memory. {message}
Out of memory.ring_buffer.cpp
errorFailed 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
errorFailed 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
errorFailed 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
errorFailed to decompress at {index} sizes: {original_size}, {buffer_size}
Unsuccessful decompression due to invalid data or compression algorithm is not supported.packet_processor.cpp
errorCompress stream error. ({error_id})

packet_processor.cpp
errorDecompress stream error. ({error_id})

packet_processor.cpp
errorEncrypt stream error. ({error_id})

packet_processor.cpp
errorDecrypt stream error. ({error_id})

packet_processor.cpp

IPC

TagLevelFormatDescriptionSource file

errorError on accept. ({error_id}: {message})In most cases, the port number is already being used elsewhere.ipc_server.cpp
eventsinfoNotification startIt is output at program start.ipc_event_notifier.cpp
infoNotification stoppedIt is output during program termination.ipc_event_notifier.cpp
warningFailed to get client endpoint. ({error_id}: {message})Disconnected immediately after connecting.ipc_event_notifier.cpp
infoclient removed {IP}:{Port}Client disconnected to query IPC events.ipc_event_notifier.cpp
infoclient added {IP}:{Port}A client has been connected to query IPC events.ipc_event_notifier.cpp
{IP}:{Port}warningData transfer failed. ({error_id}: {message})
ipc_server.cpp
errorError on payload. ({message})In addition to data transfer, there may have been an error processing the IPC service.ipc_server.cpp

crash_handler

LevelFormatExampleDescriptionSource file
infoSignal: {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
warningFailed to register signal handler for {type}SIGABRT, SIGFPE, SIGILL, SIGSEGVThe program or environments may be unusual.handler.cpp
criticalSignal handling
A termination signal has been detected. (linux)handler.cpp
criticalException handling (Unhandled)
A termination signal has been detected. (windows)handler.cpp
criticalException handling (Vectored)
A termination signal has been detected. (windows)handler.cpp
criticalFatal exception: {type}
stackdump [frame] {symbol_address} {function} ({filename:line})

Exception type and call stack outputstacktrace_linux.cpp
stacktrace_windows.cpp