Structured Logging System with Event Filtering and Routing

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Managing and routing diverse streams of program-related events in a computer program is challenging due to the large number and variety of events, making it difficult for developers, testers, and services to access valuable data for testing, debugging, and analytics.

Innovation Solution

A structured logging system that uses log handlers with filtering mechanisms to select and route relevant event log entries to appropriate event sinks, allowing for customized data handling and flexible event management, including runtime configuration of log handlers.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Loss of information

If all program events are collected and reported to event sinks, then complete event data is available for analysis, but system performance degrades due to redundant processing and network overhead

Engineering Contradiction:
Improveevent data completenessVSAvoidapplication responsiveness
Core Design Contradiction:
Loss of informationVSProductivity

Solution Approach 1:

The filtering mechanism extracts only the necessary event log entries from the complete event stream based on specified criteria, sending only relevant events to event sinks. This extraction process maintains data completeness for needed events while eliminating redundant processing of unnecessary events, thus resolving the contradiction between complete data availability and system performance.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

Instead of processing all events equally, the system applies partial action by selectively processing only those events that match the filtering criteria. This partial processing approach maintains sufficient event data for analysis while reducing overall processing load and network overhead, thereby improving application responsiveness without sacrificing necessary data completeness.

Inventive Principle:
Principle #16Partial or excessive action

2Productivity

If a filtering mechanism is implemented to select specific event log entries, then redundant processing is reduced and performance improves, but system complexity increases

Engineering Contradiction:
Improveevent processing efficiencyVSAvoidlogging system complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The logging system is segmented into distinct functional components: event sources, log handlers with filtering mechanisms, and event sinks. This segmentation allows the filtering functionality to be added as a modular component rather than integrating complexity throughout the entire system, thus improving processing efficiency while managing system complexity through clear separation of concerns.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The log handler with filtering mechanism serves as an intermediary component between event sources and event sinks. This intermediary layer handles the complexity of event selection and filtering, allowing event sources to continue generating events and event sinks to consume filtered results without either side needing to understand the filtering logic, thus managing complexity locally while improving overall efficiency.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Adaptability or versatility

If multiple log handlers with different filtering criteria are deployed, then specific event types can be routed to appropriate consumers, but device complexity increases

Engineering Contradiction:
Improveevent routing flexibilityVSAvoidlog handler configuration
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The logging system is designed to be dynamic, allowing log handlers with different filtering criteria to be added, removed, or configured at runtime based on specific needs. This dynamic configuration capability enables flexible event routing for different event types without requiring a fixed complex architecture, as the system can adapt its handler configuration to match actual requirements.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The log handler component is designed as a universal multi-functional unit that can handle different filtering criteria and route to different event sinks. This universal handler design means that the same basic component structure can serve multiple purposes with different configurations, reducing overall system complexity compared to having specialized handlers for each event type.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Data Source

PatentUS10379915B2Structured logging system
Publication Date: 2019.08.13 HOME BOX OFFICE INC
  • US10379915B2 patent drawing
  • US10379915B2 patent drawing
  • US10379915B2 patent drawing

AI summary

The described technology is directed towards a structured logging technology in which events corresponding to program execution are received in a structured format and logged based upon filtering of those events. A log handler is associated with a filtering mechanism that determines whether each event matches filtering criteria and is thus to be logged by the log handler. The log handler provides matching logged events to an event sink, such as an analytic tool that consumes the events for analysis.