[GH-ISSUE #8] Filter by JSON key #1

Closed
opened 2026-03-03 00:06:02 +03:00 by kerem · 1 comment
Owner

Originally created by @aurc on GitHub (Jun 25, 2022).
Original GitHub issue: https://github.com/aurc/loggo/issues/8

Originally assigned to: @aurc on GitHub.

Background

A template is either provide or sensed by l'oGGo app. If basically consists of:

  • If generated, shallow keys;
  • If provided, a combination of shallow keys (e.g. "a") and deep keys (e.g. "a/b/c")

A common workflow when reviewing logs is the ability to tabularly filter out column field values so you can easily focus on a subset of candidate entries of your interest, removing, thus, unnecessary verbose noise.

Feature:

Given an arbitrary number of keys, enable the user to craft filters using any combinations in the set leveraging datatypes common aggregation/filtering standard functions and boolean logic. Example:

Given key set (as in template - some elements like colors removed for brevity):

keys:
  - name: priority
    type: number
  - name: severity
    type: string
  - name: resource/labels/container_name
    type: string
  - name: jsonPayload/message
    type: string

Wants to filter records in such a way that:

(
  ("priority" between "1" and "3") and 
  ("resource/labels/container_name" = "foo" or "resource/labels/container_name" = "bar") and 
  (severity = "debug")
)

Enable the following:

  • string type:
    • Equals
    • EqualsIgnoreCase
    • Contains
    • ContainsIgnoreCase
    • GreaterThan
    • GreaterOrEqualThan
    • LowerThan
    • LowerOrEqualThan
    • Regex
    • Between
    • BetweenInclusive
  • bool type:
    • Equals
  • datetime type:
    • Equals
    • GreaterThan
    • GreaterOrEqualThan
    • LowerThan
    • LowerOrEqualThan
    • Between
    • BetweenInclusive
  • number type:
    • Equals
    • GreaterThan
    • GreaterOrEqualThan
    • LowerThan
    • LowerOrEqualThan
    • Between
    • BetweenInclusive
Originally created by @aurc on GitHub (Jun 25, 2022). Original GitHub issue: https://github.com/aurc/loggo/issues/8 Originally assigned to: @aurc on GitHub. **Background** A template is either provide or sensed by l'oGGo app. If basically consists of: - If generated, shallow keys; - If provided, a combination of shallow keys (e.g. `"a"`) and deep keys (e.g. `"a/b/c"`) A common workflow when reviewing logs is the ability to _tabularly_ filter out column field values so you can easily focus on a subset of candidate entries of your interest, removing, thus, unnecessary verbose noise. **Feature:** Given an arbitrary number of keys, enable the user to craft filters using any combinations in the set leveraging datatypes common aggregation/filtering standard functions and boolean logic. Example: Given key set (as in template - some elements like colors removed for brevity): ````yaml keys: - name: priority type: number - name: severity type: string - name: resource/labels/container_name type: string - name: jsonPayload/message type: string ```` Wants to filter records in such a way that: ```` ( ("priority" between "1" and "3") and ("resource/labels/container_name" = "foo" or "resource/labels/container_name" = "bar") and (severity = "debug") ) ```` Enable the following: - `string` type: - `Equals` - `EqualsIgnoreCase` - `Contains` - `ContainsIgnoreCase` - `GreaterThan` - `GreaterOrEqualThan` - `LowerThan` - `LowerOrEqualThan` - `Regex` - `Between` - `BetweenInclusive` - `bool` type: - `Equals` - `datetime` type: - `Equals` - `GreaterThan` - `GreaterOrEqualThan` - `LowerThan` - `LowerOrEqualThan` - `Between` - `BetweenInclusive` - `number` type: - `Equals` - `GreaterThan` - `GreaterOrEqualThan` - `LowerThan` - `LowerOrEqualThan` - `Between` - `BetweenInclusive`
kerem closed this issue 2026-03-03 00:06:02 +03:00
Author
Owner

@aurc commented on GitHub (Jul 31, 2022):

Delivered as part of v0.3.0

<!-- gh-comment-id:1200519787 --> @aurc commented on GitHub (Jul 31, 2022): Delivered as part of v0.3.0
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
starred/loggo#1
No description provided.