diff --git a/osgi/log/src/main/java/org/apache/karaf/webconsole/osgi/log/LogEntriesDataProvider.java b/osgi/log/src/main/java/org/apache/karaf/webconsole/osgi/log/LogEntriesDataProvider.java
index 755e85e..1e61090 100644
--- a/osgi/log/src/main/java/org/apache/karaf/webconsole/osgi/log/LogEntriesDataProvider.java
+++ b/osgi/log/src/main/java/org/apache/karaf/webconsole/osgi/log/LogEntriesDataProvider.java
@@ -40,7 +40,7 @@
 
     private Options options;
 
-    private transient List<Matcher> matchers;
+    private List<Matcher> matchers;
 
     public LogEntriesDataProvider(LogReaderService logReader, Options options, List<Matcher> matchers) {
         this.logReader = logReader;
diff --git a/osgi/log/src/main/java/org/apache/karaf/webconsole/osgi/log/LogsPage.java b/osgi/log/src/main/java/org/apache/karaf/webconsole/osgi/log/LogsPage.java
index f7420c5..838d8f5 100644
--- a/osgi/log/src/main/java/org/apache/karaf/webconsole/osgi/log/LogsPage.java
+++ b/osgi/log/src/main/java/org/apache/karaf/webconsole/osgi/log/LogsPage.java
@@ -23,12 +23,7 @@
 
 import org.apache.karaf.webconsole.core.table.PropertyColumnExt;
 import org.apache.karaf.webconsole.osgi.core.shared.OsgiPage;
-import org.apache.karaf.webconsole.osgi.log.search.BundleMatcher;
-import org.apache.karaf.webconsole.osgi.log.search.DateFromMatcher;
-import org.apache.karaf.webconsole.osgi.log.search.DateToMatcher;
 import org.apache.karaf.webconsole.osgi.log.search.Matcher;
-import org.apache.karaf.webconsole.osgi.log.search.MessageMatcher;
-import org.apache.karaf.webconsole.osgi.log.search.PriorityMatcher;
 import org.apache.wicket.extensions.markup.html.repeater.data.grid.ICellPopulator;
 import org.apache.wicket.extensions.markup.html.repeater.data.table.AbstractColumn;
 import org.apache.wicket.extensions.markup.html.repeater.data.table.DefaultDataTable;
@@ -55,6 +50,9 @@
     @PaxWicketBean(name = "logReader")
     private LogReaderService logReader;
 
+    @PaxWicketBean(name = "matchers")
+    private List<Matcher> matchers;
+
     private Options options = new Options();
 
     @SuppressWarnings("serial")
@@ -84,14 +82,6 @@
 
         OptionsForm form = new OptionsForm("filters", model);
 
-        List<Matcher> matchers = Arrays.asList(
-            new PriorityMatcher(),
-            new MessageMatcher(),
-            new BundleMatcher(),
-            new DateFromMatcher(),
-            new DateToMatcher()
-        );
-
         LogEntriesDataProvider provider = new LogEntriesDataProvider(logReader, options, matchers);
         DefaultDataTable<LogEntry> table = new DefaultDataTable<LogEntry>("logs", Arrays.asList(columns), provider, 20);
 
diff --git a/osgi/log/src/main/resources/OSGI-INF/blueprint/log.xml b/osgi/log/src/main/resources/OSGI-INF/blueprint/log.xml
index bedf3cf..84450f0 100644
--- a/osgi/log/src/main/resources/OSGI-INF/blueprint/log.xml
+++ b/osgi/log/src/main/resources/OSGI-INF/blueprint/log.xml
@@ -27,4 +27,22 @@
 
     <reference id="logReader" interface="org.osgi.service.log.LogReaderService" />
 
+    <reference-list id="matchers" interface="org.apache.karaf.webconsole.osgi.log.search.Matcher" availability="optional" />
+
+    <service auto-export="interfaces">
+        <bean class="org.apache.karaf.webconsole.osgi.log.search.PriorityMatcher" />
+    </service>
+    <service auto-export="interfaces">
+        <bean class="org.apache.karaf.webconsole.osgi.log.search.MessageMatcher" />
+    </service>
+    <service auto-export="interfaces">
+        <bean class="org.apache.karaf.webconsole.osgi.log.search.BundleMatcher" />
+    </service>
+    <service auto-export="interfaces">
+        <bean class="org.apache.karaf.webconsole.osgi.log.search.DateFromMatcher" />
+    </service>
+    <service auto-export="interfaces">
+        <bean class="org.apache.karaf.webconsole.osgi.log.search.DateToMatcher" />
+    </service>
+
 </blueprint>
