|
quill
|
Struct to hold options for the signal handler. More...
#include <SignalHandler.h>
Public Attributes | |
| std::vector< int > | catchable_signals {SIGTERM, SIGINT, SIGABRT, SIGFPE, SIGILL, SIGSEGV} |
| List of signals that the backend should catch if with_signal_handler is enabled. More... | |
| uint32_t | timeout_seconds = 20u |
| Defines the timeout duration in seconds for the signal handler alarm. More... | |
| std::string | logger_name |
| The name of the logger instance that the signal handler will use to log errors when the application crashes. More... | |
| std::vector< std::string > | excluded_logger_substrings {"__csv__"} |
| List of substrings used to exclude loggers during automatic logger selection. More... | |
Struct to hold options for the signal handler.
| std::vector<int> SignalHandlerOptions::catchable_signals {SIGTERM, SIGINT, SIGABRT, SIGFPE, SIGILL, SIGSEGV} |
List of signals that the backend should catch if with_signal_handler is enabled.
Enabling the built-in signal handler overrides the process handlers for these signals.
| std::vector<std::string> SignalHandlerOptions::excluded_logger_substrings {"__csv__"} |
List of substrings used to exclude loggers during automatic logger selection.
This option is only used when logger_name is empty or when the specified logger is not found. The signal handler will skip any logger whose name contains any of these substrings. This is useful to avoid selecting specialized loggers that write to CSV files, binary files, or other non-standard formats that may not be suitable for crash reporting. Default: {"__csv__"} to exclude CSV loggers.
| std::string SignalHandlerOptions::logger_name |
The name of the logger instance that the signal handler will use to log errors when the application crashes.
The logger is accessed by the signal handler and must be created by your application using Frontend::create_or_get_logger(...). If this parameter is left empty, the signal handler will automatically select the first valid logger it finds, excluding any loggers whose names contain substrings specified in excluded_logger_substrings. If a logger name is specified but not found, the signal handler will fall back to the automatic selection behavior described above.
| uint32_t SignalHandlerOptions::timeout_seconds = 20u |
Defines the timeout duration in seconds for the signal handler alarm.
It is only available on Linux, as Windows does not support the alarm function. The signal handler sets up an alarm to ensure that the process will terminate if it does not complete within the specified time frame. This is particularly useful to prevent the process from hanging indefinitely in case the signal handler encounters an issue.
1.8.13