Получить содержимое CommonsRequestLoggingFilter в коде Java

  1. javax.enterprise.context.SessionScoped ( JSR 346 ), а все остальные аннотации в пакете javax.enterprise.context.* поддерживают контекст CDI . CDI предоставляет альтернативный, универсальный и более мощный механизм для инъекций зависимостей, управления компонентами и общим ресурсом в пространстве Java EE. Это альтернатива управляемым bean-компонентам JSF, и она настроена на то, чтобы даже заменить механизм управления компонентом JSF в будущей версии JSF . В настоящее время JSF и CDI аннотированные бобы взаимозаменяемы в любом данном веб-приложении Java EE (с учетом нескольких незначительных ограничений). CDI-аннотированные бобы, однако, простираются далеко за пределы области веб-уровня, поэтому спецификация Java EE развивается, чтобы сделать CDI стандартным компонентом и механизмом DI. Хотя CDI может быть очевидным выбором для всей разработки Java EE, управляемые bean-компоненты JSF переносимы в контейнерах сервлетов (Tomcat) и серверах приложений (Glassfish, JBoss и т. Д.). Компоненты CDI могут работать только с полными серверами приложений. Однако с помощью некоторые работы Tomcat 7 могут быть подключены для поддержки CDI. В частности, javax.enterprise.context.SessionScoped представляет собой параллельную реализацию Сессии сеанса JSF в CDI.
  2. javax.faces.bean.SessionScoped ( JSR 314 ), а все остальные аннотации в пакете javax.faces.bean.* поддерживают JSF-специфический механизм вливания и механизм управления бобами. Бобы, аннотированные аннотациями JSF, однако полезны только в веб-уровне. Все области, доступные с аннотациями JSF, были реплицированы в спецификации CDI.
  3. javax.annotation.ManagedBean ( JSR 316 ) и другие связанные с DI аннотации в javax.annotation.* являются попыткой обобщить аннотации на основе JSF для других применений в спецификации Java EE и действительно не должны использоваться конечным разработчиком.
  4. Почему они существуют? Ну, ИМО, переход от фасоли JSF к компонентам CDI - это естественная эволюция технологии. Бобы JSF отлично справились, но Spring, Guice и Seam сделали очевидным, что технологии недостаточно. Необходимо также устранить разрыв между веб-компонентами и EJB, и ответ на эту потребность - это CDI.

    См. также следующие связанные вопросы:

0
задан Peter Penzov 17 January 2019 в 09:03
поделиться

1 ответ

Приложение Spring Boot можно настроить, добавив определение компонента для включения ведения журнала запросов:

@Configuration
public class RequestLoggingFilterConfig {

    @Bean
    public CommonsRequestLoggingFilter logFilter() {
        CommonsRequestLoggingFilter filter
          = new CommonsRequestLoggingFilter();
        filter.setIncludeQueryString(true);
        filter.setIncludePayload(true);
        filter.setMaxPayloadLength(10000);
        filter.setIncludeHeaders(false);
        filter.setAfterMessagePrefix("REQUEST DATA : ");
        return filter;
    }
}

Кроме того, этот фильтр ведения журнала требует, чтобы уровень журнала был установлен на DEBUG

<logger name="org.springframework.web.filter.CommonsRequestLoggingFilter">
    <level value="DEBUG" />
</logger>
0
ответ дан Govind Parashar 17 January 2019 в 09:03
поделиться
Другие вопросы по тегам:

Похожие вопросы: