I would parse each line with a separate pattern
grok {
break_on_match => false
match => {
"message => [
"method: (?<method>[^\n]*)",
"userId: (?<userId>[^\n]*)",
"jobId: (?<jobId>[^\n]*)",
...
]
}
}