Custom reports

implemented custom report functionality
requires user to annotate the desired log entries with a prefix and suffix, which must be passed in via the `customLogOpts`

the code will then generate a custom html report containing only the matched data entries