@Branden... While the message JSON structure seems valid, outer JSON seems to be missing proper formatting and commas after each Key Value pairs. Is that how the data looks or is it typo while keying in example here?
Following data for me loaded successfully as json sourcetype and Splunk was itself able to extract all required field including inner jSON like message.authors{}.authorResourceID, message.warningReasons{} and message.invalidPublication etc.
{
"level": "warn",
"message": {
"invalidPublication": "Publication is valid for indexing at Elasticsearch and will be updated, but has warnings.",
"authors": [ {
"lastName": "foo",
"initials": "fb",
"firstName": "bar",
"authorResourceID": 99999 } ],
"title": "Some Title",
"warningReasons": [ "Invalid value for 'publicationDate' field [Sat Apr 01 2006 00:00:00 GMT-0500 (EST)], year not found in citation - dateComponents: [{\"year\":\"2008\",\"month\":\"6\",\"day\":\"2\"}].]" ]
},
"pid": "2888",
"sourceHostname": "somehostname.somewhere.com",
"timestamp": "2017-03-13 09:55:40"
}
Needless to say, spath is also able to extract the same.
... View more