2016-04-27 2 views
1

Я пытаюсь написать Appender, который принимает все маркеры из logstash-logback-encoderИспользование Wildcard или Regex в OnMarkerEvaluator фильтр

Я попытался следующие с помощью Logback 1.0.7 и logstash-logback-encoder4.6

<appender name="LOGSTASH" class="ch.qos.logback.classic.sift.SiftingAppender"> 
    <filter class="ch.qos.logback.core.filter.EvaluatorFilter"> 
     <evaluator class="ch.qos.logback.classic.boolex.OnMarkerEvaluator"> 
      <!-- Accept only Markers from logstash-logback-encoder --> 
      <marker>LS_*</marker>     
     </evaluator> 
     <onMatch>ACCEPT</onMatch> 
     <onMismatch>DENY</onMismatch> 
    </filter> 

.. ..

Однако это не работает. Кажется, что ничего не вводит в это приложение.

Следующий фильтра работа немного довольно громоздкий

<evaluator class="ch.qos.logback.classic.boolex.OnMarkerEvaluator"> 
     <!-- Accepts only Markers from logstash-logback-encoder --> 
     <marker>LS_MAP_FIELDS</marker> 
     <marker>LS_OBJECT_FIELDS</marker> 
     <marker>LS_APPEND_</marker> 
     <marker>LS_APPEND_OBJECT</marker> 
     <marker>LS_APPEND_RAW</marker> 
    </evaluator> 

ответ

0

со ссылкой на код для OnMarkerEvaluation его не представляется возможным достичь группового символа или матча регулярного выражения с его текущей реализацией. Но альтернативное решение реализовать свой собственный EventEvaluatorBase, как показано ниже:

package com.apple.paymentgateway.hostsimulator; 

import org.slf4j.Marker; 

import ch.qos.logback.classic.spi.ILoggingEvent; 
import ch.qos.logback.core.boolex.EvaluationException; 
import ch.qos.logback.core.boolex.EventEvaluatorBase; 

public class CustomEvaluator extends EventEvaluatorBase<ILoggingEvent> { 

    @Override 
    public boolean evaluate(ILoggingEvent event) throws NullPointerException, EvaluationException { 
     Marker eventsMarker = event.getMarker(); 
     return eventsMarker.getName().startsWith("LS_"); 
    } 

} 

Это просто пример для вашего конкретного случая, могут быть настроены и обобщен далее.

Смежные вопросы