2017-01-11 8 views
1

Мне нужно внедрить ведение журнала на основе запросов. На основе заголовка - заголовок уровня журнала.Необходимо выполнить RequestBasedLogging

В моем коде я использую JAX-RS и реализовал ContainerRequestFilter.

@Override 
public void filter(final ContainerRequestContext context) throws IOException { 

    String log_level = context.getHeaderString("log-level-header"); 
    //translate to actual log level 
    Logger root = (Logger)LoggerFactory.getLogger(org.slf4j.Logger.ROOT_LOGGER_NAME); 
    root.setLevel(logLevelToSet); 
} 

Я использую API журнала и slf4j. Проблема заключается в том, что я устанавливаю уровень журнала в RootLogger, который является одноэлементным и, следовательно, заканчивает изменение уровня журнала в приложении.

Вместо этого я намерен изменить уровень журнала для определенного потока (RequestBasedLogging). Это достижимо и как?

ответ

0

Да, это достижимо через TurboFilters и MDC. Код в MDCFilter также должен быть полезен.

Ключ должен понимать MDC.

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

  • Нет связанных вопросов^_^