CSV file with different record types

You could use a conditional to take a peek at the line and based on that choose between different csv filters.

if [message] =~ /^some pattern/ {
  csv {
    ...
  }
} else if [message] =~ /^other pattern/ {
  csv {
    ...
  }
}