[Solution] Logging ERROR and WARN messages into seperate log file and multiple RegexFilters

Just to answer my own question and to provide a solution to some requests here how to add multiple RegexFilters to the appender:

You can even combine them with other filter types like the following:

<Appenders>
	<RollingFile fileName="${sys:openhab.logdir}/critical.log" filePattern="${sys:openhab.logdir}/critical.log.%i.gz" name="CRITICAL">
		<PatternLayout pattern='["%d{yyyy-MM-dd HH:mm:ss.SSS}","%p","%c{3}","%enc{%m}{JSON}"%ex{NONE}],%n'/>
		<Filters>
			<RegexFilter regex=".*Attempting to send a state update of an item which doesn't exist.*" useRawMsg="false" onMatch="DENY" onMismatch="NEUTRAL"/>
			<RegexFilter regex=".*Cannot determine master volume level - assuming 100.*" useRawMsg="false" onMatch="DENY" onMismatch="NEUTRAL"/>
			<RegexFilter regex=".*whatever.*" useRawMsg="false" onMatch="DENY" onMismatch="NEUTRAL"/>
			<ThresholdFilter level="WARN" onMatch="ACCEPT" onMismatch="DENY"/>
		</Filters>
		<Policies>
			<OnStartupTriggeringPolicy/>
			<SizeBasedTriggeringPolicy size="1 MB"/>
		</Policies>
		<DefaultRolloverStrategy max="7"/>
	</RollingFile>
	...
<Appenders/>

Important is the order of the filter and that either onMatch or onUnmatch is set to NEUTRAL
Furthermore this log file is quick&dirty JSON-stylish in case you might want to load it into a widget.
Thanks again Rich - to me, this solution is more elegant.

EDIT:
For true JSON-based log file simply replace
<PatternLayout .../> with

<JsonTemplateLayout eventTemplateUri="classpath:EcsLayout.json"/>