Request-Based Event Logging for Error Diagnosis
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Debugging and event logging mechanisms often fail to collect sufficient information during errors due to pre-defined verbosity levels, leading to inefficient data collection and performance degradation, making it difficult to diagnose issues in complex systems.
Innovation Solution
Implementing request-based logging that records event log messages for specific requests regardless of pre-defined verbosity levels, allowing for detailed data collection from start to finish, and storing it sequentially to simplify error diagnosis.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If pre-defined verbosity levels are used to control logging, then system performance is maintained, but sufficient error diagnostic information is not collected
Solution Approach 1:
The logging system dynamically adjusts its verbosity level based on operational context. During normal operation, it uses lower verbosity to maintain performance. When errors occur or are detected, it automatically increases verbosity to capture detailed diagnostic information, thus resolving the contradiction between maintaining performance and collecting sufficient error information.
Solution Approach 2:
The system changes the logging parameter (verbosity level) from static to conditional. Instead of using a fixed verbosity level, the system modifies this parameter based on error states, request types, and operational conditions, allowing it to collect comprehensive error information only when necessary rather than continuously.
2Reliability
If event logger is enabled with high verbosity to collect all error information, then complete diagnostic data is obtained, but system performance degrades significantly
Solution Approach 1:
The system applies partial logging by selectively capturing only the necessary portion of event data based on error conditions. Instead of continuously logging all events at high verbosity, it activates detailed logging only for specific error scenarios, achieving complete error information collection without the continuous performance penalty of full verbosity.
Solution Approach 2:
The logging system operates periodically based on error events rather than continuously. It switches between low-verbosity mode during normal operation and high-verbosity mode when errors occur, creating a periodic pattern that ensures complete error information is captured while maintaining system performance during error-free periods.
3Loss of information
If detailed logging is enabled for all requests, then complete event data is collected, but disk space consumption increases excessively
Solution Approach 1:
The logging system applies different logging qualities to different requests based on their characteristics. High-detail logging is applied locally to requests that are likely to generate errors or are particularly important, while standard or reduced logging is applied to routine requests. This selective approach ensures complete event data is collected for critical cases without the excessive disk space consumption of universal detailed logging.
4Reliability
If verbosity level is increased to capture error context, then diagnostic information improves, but log data volume increases making review difficult
Solution Approach 1:
The logging system segments log data by error context and request type. Instead of creating one massive log file with all possible verbosity levels, it organizes logs into segmented categories based on error conditions, request types, and severity levels. This segmentation allows complete error context to be captured while making the data manageable and easy to review by filtering to only the relevant segments when diagnosing issues.
Data Source
AI summary
Systems, methods, and other embodiments associated with event logging are described. One example method includes collecting request-based event log data associated with processing a request and temporarily storing the event log data in a memory. In the event of an error, the event log data is transferred to a storage device.


