来自字符串
""message" => "27.03.2018 07:53:39 [ERROR] at MyApp.Controllers.Controller.OnException: \nMessage: Controller exception!\nUser: TestUser \nHost: MyLaptop\n\nSystem.Exception: Testing\n at MyApp.Controllers.DoController.Do() in C:\\Users\\User\\Source\\Controllers\\DoController.cs:line 20\n at lambda_method(Closure , ControllerBase , Object[] )\n at System.Web.Mvc.ReflectedActionDescriptor.Execute(ControllerContext controllerContext, IDictionary`2 parameters)\n""
我正在尝试匹配" \ n用户\ n"并将其放入名为User的新领域。使用gsub,我可以通过以下conf来改变它:
mutate {
gsub => [
"message", "[\n]^User.*\n", "changed"
]
}
但是把它放到grok会产生grokparsefailure。我怎么能在grok中使用它?
答案 0 :(得分:0)
我最终得到了:
grok {
match => {
"message" => "User:%{GREEDYDATA:user}\n"
}
}
这似乎与"User:"
和"\n"
答案 1 :(得分:0)
你去,
User:%{SPACE}%{WORD:user}
这将使用用户名
创建一个新字段user
{
"SPACE": [
[
" "
]
],
"user": [
[
"TestUser"
]
]
}