grok
Rust port of Elastic Grok processor, inspired by grok-go and grok
Example
Only with default patterns
let grok = default;
let pattern = grok
// USERNAME are defined in grok-patterns
.compile
.unwrap;
let result = pattern.parse.unwrap;
println!;
the output is:
{
"USERNAME": String(
"admin",
),
}
With user-defined patterns
let mut grok = default;
grok.add_pattern;
let pattern = grok.compile.unwrap;
let result = pattern.parse.unwrap;
println!;
the output is:
{
"NAME": String(
"admin",
),
}
With named_capture_only
is true
let grok = default;
let pattern = grok
.compile
.unwrap;
let result = pattern.parse.unwrap;
println!;
the output is:
{
"email": String(
"admin@example.com",
),
}
With type
let mut grok = default;
grok.add_pattern;
let pattern = grok.compile.unwrap;
let result = pattern.parse.unwrap;
println!;
the output is:
{
"digit": Int(
123,
),
}
Elastic Grok compliance
This crate declares compatible with elastic grok patterns v8.14.0, which is tagged at 2024-06-05.