Dual-Level Log Filtering for Complete Yet Focused Output
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing logging systems face challenges in efficiently outputting relevant log messages, as setting improper filtering levels can result in either missing critical information or overwhelming log files with unnecessary data, making it difficult to diagnose issues effectively.
Innovation Solution
Implementing a dual filtering level system where log messages are saved in a buffer region based on a secondary filtering level, and output to a target region based on a primary or secondary filtering flag, ensuring only relevant logs are recorded and reviewed when needed.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Device complexity
If a single filtering level is used in the logging system, then the device complexity is reduced, but the quality of log recording deteriorates because critical information may be lost or unnecessary data overwhelms the log files
Solution Approach 1:
The logging system divides the single filtering level into two distinct filtering levels (first filtering level and second filtering level). The first filtering level filters log messages during normal operation, while the second filtering level captures all log messages when exceptions occur. This segmentation allows the system to maintain low complexity during normal operation while ensuring high-quality log recording when needed.
Solution Approach 2:
The filtering level is made dynamic by switching between the first filtering level and the second filtering level based on system state. When an exception occurs, the system dynamically switches to the second filtering level to capture all log messages. This dynamic adjustment allows the system to adapt its filtering behavior to operational needs without requiring complex configuration.
2Loss of information
If all log messages are output regardless of filtering level, then the completeness of log information is improved, but the loss of time increases due to processing and reviewing unnecessary log data
Solution Approach 1:
The system applies partial action by selectively outputting log messages based on the filtering level. During normal operation, only log messages meeting the first filtering level criteria are output. When exceptions occur, the system switches to the second filtering level to output all log messages. This partial action approach ensures complete information is available when needed while avoiding the time loss of processing unnecessary logs during normal operation.
3Difficulty of detecting and measuring
If the logging system captures detailed log messages for all scenarios, then the diagnostic capability is improved, but the memory usage increases due to storing unnecessary log data
Solution Approach 1:
The logging system segments log capture into two modes: normal mode with the first filtering level that captures only essential log messages, and exception mode with the second filtering level that captures all log messages. This segmentation ensures that detailed logs are captured only when needed for diagnostics, while memory is conserved during normal operation when detailed logging is unnecessary.
4Productivity
If a higher filtering level is set to reduce log output, then the productivity is improved by reducing log processing workload, but the reliability deteriorates because critical error information may be filtered out
Solution Approach 1:
The system dynamically adjusts the filtering level based on operational state. During normal operation, the first filtering level maintains high productivity by filtering out unnecessary logs. When exceptions occur, the system dynamically switches to the second filtering level to ensure reliable error detection by capturing all log messages. This dynamic adjustment resolves the contradiction between productivity and reliability.
Data Source
AI summary
A logging system is disclosed, which is set with a primary filtering level and a secondary filtering level. A log message is saved in a log stream with a log level higher than or equal to the secondary filtering level in a buffer region. In response to a log filtering flag being set to the primary filtering level, a log message in the buffer region is output with the log level higher than or equal to the primary filtering level to a target region. In addition, all log messages in the buffer region to the target region are output in response to the log filtering flag being set to the secondary filtering level. Beneficially, unnecessary log messages are avoided from being output to the target region, while ensuring that required log messages are output to the target region, thereby improving the quality of log files.


