Hi,
Thanks for the detailed bug report. I have been able to recreate the issue locally.
LogViewPlus stores all log entries into a common object that treats string (%s) columns as a list. Column assignment in this list is based on index position. The problem here is that when a string column is missing, the next string column is then written into the wrong index position. Having columns parsed out of order can also cause this problem.
This is the first time we have seen this issue. I will make sure it gets fixed in the next release.
In the meantime, I would recommend one of two options:
1. Do not parse fields that are optional or may be out of order.
2. Use one of the 'Advanced Specifiers' as a placeholder on the field you want to parse. Note that only string columns suffer from the index position issue described above.
For example, I can parse your logs successfully with the configuration:
{
"Timestamp": "%d{yyyy-MM-ddT%H:mm:ss.fffffffzzzz}",
"Level": "%p",
"RenderedMessage": "%m",
"Properties": {
"EventId": {
"Id": "%u",
"Name": "%M"
},
"ProcessId": "%s{Process Id}",
"ThreadId": "%t",
"SourceContext": "%c"
}
}
As there is only one string in this configuration, ordering will not be an issue. Note that the Identity (%i) and Method Name (%M) columns are not used very often and will need to be added to your grid view manually. This setting is then saved with the parser configuration, so you will only need to do this once.
A full list of advanced specifiers is available here:
https://www.logviewplus.com/docs/advanced_specifiers.htmlHope that helps. Thanks again for reporting this issue.
Toby