#key-value #parser #logstash #kv #string-parser #extractor #map

tremor-kv

A logstash inspured key value extractor

12 releases

0.6.2 Oct 26, 2023
0.6.0 May 24, 2023
0.5.0 Nov 3, 2022
0.4.0 Jul 8, 2022
0.1.2 Mar 4, 2020

#927 in Text processing

Download history 34/week @ 2024-11-14 80/week @ 2024-11-21 18/week @ 2024-11-28 57/week @ 2024-12-05 31/week @ 2024-12-12 22/week @ 2024-12-19 14/week @ 2024-12-26 46/week @ 2025-01-02 1/week @ 2025-01-09 22/week @ 2025-01-16 22/week @ 2025-01-23 1/week @ 2025-01-30 5/week @ 2025-02-06 36/week @ 2025-02-13 15/week @ 2025-02-20 7/week @ 2025-02-27

64 downloads per month
Used in 2 crates (via tremor-script)

Apache-2.0

28KB
551 lines

KV   Latest Version Build Status Quality Checks License Checks Security Checks Code Coverage

kv parser


KV parsing inspired by logstash's kv plugin.

Parses a string into a map. It is possible to split based on different characters that represent either field or key value boundaries.

A good part of the logstash functionality will be handled outside of this function and in a generic way in tremor script.

Use as a library

The kv parser was designed so that KV style parsing could be embedded into tremor's scripting language for extract operations.

The parser can also be used standalone

  let kv = Pattern::compile("%{key}%{%{val}").expect("Failed to build pattern");
  let r = kv.run("this%{is a%{test").expect("Failed to split input");
  assert_eq!(r.len(), 2);
  assert_eq!(r["this"], "is");
  assert_eq!(r["a"], "test");

Dependencies

~6MB
~110K SLoC