You can use props and transforms to extract the fields you need using regex. Its not a problem if you build a single regex for each distinct field.
Are the lines related to each other? meaning "[key] [value]" can belong to the same event as "[timestamp] [username] [url] [errcode] [srcip] [dstip]". If so, you can just the way splunk looks at your data and build a multi-line event. If they are not related then you might have an issue, since splunk indexes data based on the time stamp and for the looks of it, if they don't related, only one event has timestamp.
It easier to help you if you post a sanitized example of diferent events of you raw data.
------------ Hope I was able to help you. If so, an upvote would be appreciated.