WARN and ERROR log entries in a seperate file

I’m trying to write all WARN and ERROR log entries into a separate file (OH 2.1 stable). I found the configuration file at /var/lib/openhab2/etc/org.ops4j.pax.logging.cfg and I understood that I have to use a ThresholdFilter. But either I get the same entries as the openhab.log (not only warn and error) or I get that exception:

Exception
2017-11-17 00:19:23.186 [ERROR] [org.apache.felix.configadmin        ] - [org.osgi.service.log.LogService, org.knopflerfish.service.log.LogService, org.ops4j.pax.logging.PaxLoggingService, org.osgi.service.cm.ManagedService, id=32, bundle=2/mvn:org.ops4j.pax.logging/pax-logging-service/1.8.5]: Unexpected problem updating configuration org.ops4j.pax.logging
java.lang.NullPointerException
	at org.apache.log4j.PaxLoggingConfigurator.parseAppenderFilters(PaxLoggingConfigurator.java:288)
	at org.apache.log4j.PaxLoggingConfigurator.parseAppender(PaxLoggingConfigurator.java:197)
	at org.apache.log4j.PropertyConfigurator.parseCategory(PropertyConfigurator.java:735)
	at org.apache.log4j.PropertyConfigurator.configureRootCategory(PropertyConfigurator.java:615)
	at org.apache.log4j.PropertyConfigurator.doConfigure(PropertyConfigurator.java:502)
	at org.apache.log4j.PaxLoggingConfigurator.doConfigure(PaxLoggingConfigurator.java:72)
	at org.ops4j.pax.logging.service.internal.PaxLoggingServiceImpl.updated(PaxLoggingServiceImpl.java:214)
	at org.ops4j.pax.logging.service.internal.PaxLoggingServiceImpl$1ManagedPaxLoggingService.updated(PaxLoggingServiceImpl.java:362)
	at org.apache.felix.cm.impl.helper.ManagedServiceTracker.updated(ManagedServiceTracker.java:189)
	at org.apache.felix.cm.impl.helper.ManagedServiceTracker.updateService(ManagedServiceTracker.java:152)
	at org.apache.felix.cm.impl.helper.ManagedServiceTracker.provideConfiguration(ManagedServiceTracker.java:85)
	at org.apache.felix.cm.impl.ConfigurationManager$UpdateConfiguration.run(ConfigurationManager.java:1772)
	at org.apache.felix.cm.impl.UpdateThread.run0(UpdateThread.java:141)
	at org.apache.felix.cm.impl.UpdateThread.run(UpdateThread.java:109)
	at java.lang.Thread.run(Thread.java:745)


Below is my current configuration which throws the exception above. Any ideas what’s wrong?

/var/lib/openhab2/etc/org.ops4j.pax.logging.cfg
# Root logger
# OFF --> FATAL --> ERROR --> WARN --> INFO --> DEBUG --> TRACE --> ALL

log4j.rootLogger = WARN, out, warnlog, osgi:*
log4j.throwableRenderer=org.apache.log4j.OsgiThrowableRenderer

# openHAB specific logger configuration
log4j.logger.smarthome.event = INFO, event, osgi:*
log4j.logger.smarthome.event.ItemStateEvent = ERROR
log4j.logger.smarthome.event.ItemAddedEvent = ERROR
log4j.logger.smarthome.event.ItemRemovedEvent = ERROR
log4j.logger.smarthome.event.ThingStatusInfoEvent = ERROR
log4j.logger.smarthome.event.InboxUpdatedEvent = ERROR
log4j.additivity.smarthome.event = false

log4j.logger.org.openhab = INFO
log4j.logger.org.eclipse.smarthome = INFO
log4j.logger.org.jupnp = ERROR
log4j.logger.javax.jmdns = ERROR
log4j.logger.org.ops4j.pax.web.service.jetty.internal.JettyServerWrapper = ERROR
log4j.logger.org.apache.karaf.kar.internal.KarServiceImpl = ERROR
log4j.logger.org.apache.aries.spifly = ERROR

# CONSOLE appender not used by default
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%d{HH:mm:ss.SSS} [%-5.5p] [%-36.36c] - %m%n

# File appender - openhab.log
log4j.appender.out=org.apache.log4j.RollingFileAppender
log4j.appender.out.layout=org.apache.log4j.PatternLayout
log4j.appender.out.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss.SSS} [%-5.5p] [%-36.36c] - %m%n
log4j.appender.out.file=${openhab.logdir}/openhab.log
log4j.appender.out.append=true
log4j.appender.out.maxFileSize=10MB
log4j.appender.out.maxBackupIndex=10

# File appender - events.log
log4j.appender.event=org.apache.log4j.RollingFileAppender
log4j.appender.event.layout=org.apache.log4j.PatternLayout
log4j.appender.event.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss.SSS} [%-26.26c{1}] - %m%n
log4j.appender.event.file=${openhab.logdir}/events.log
log4j.appender.event.append=true
log4j.appender.event.maxFileSize=10MB
log4j.appender.event.maxBackupIndex=10

# Sift appender
log4j.appender.sift=org.apache.log4j.sift.MDCSiftingAppender
log4j.appender.sift.key=bundle.name
log4j.appender.sift.default=openhab
log4j.appender.sift.appender=org.apache.log4j.FileAppender
log4j.appender.sift.appender.layout=org.apache.log4j.PatternLayout
log4j.appender.sift.appender.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss.SSS} [%-5.5p] [%-36.36c] - %m%n
log4j.appender.sift.appender.file=${openhab.logdir}/$\\{bundle.name\\}.log
log4j.appender.sift.appender.append=true

# File appender - warn.log
log4j.appender.warnlog=org.apache.log4j.RollingFileAppender
log4j.appender.warnlog.layout=org.apache.log4j.PatternLayout
log4j.appender.warnlog.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss.SSS} [%-5.5p] [%-36.36c] - %m%n
log4j.appender.warnlog.file=${openhab.logdir}/warn.log
log4j.appender.warnlog.append=true
log4j.appender.warnlog.maxFileSize=10MB
log4j.appender.warnlog.maxBackupIndex=10
log4j.appender.warnlog.filters=threshold
log4j.appender.warnlog.filter.threshold.type=ThresholdFilter
log4j.appender.warnlog.filter.threshold.level=WARN