Ana içeriğe geç

3.4.2. Log Producer MQ Provider#

Logları sisteme göndermek için kullanılacak MQ (Messaging Queue) sağlayıcı altyapısıdır. Mevcut durumda kafka desteği sağlanmaktadır. Bu altyapı kullanılarak logların MQ sistemine gönderimi sağlanmaktadır.

Bağımlılıklar#

Gradle Dependencies

api (
    [group: 'tr.com.havelsan.framework.logger', name: 'hvl-logger-producer-mq-provider'],
)

Log Producer MQ Provider#

Provider kullanımı için Application Yml'a eklenmesi gerekenler#

hvl:
  logger:
    producer:
      enabled: ${LOGGER_PRODUCER_ENABLED:true}
      url: ${LOGGER_PRODUCER_URL:http://hvlloggerproducer:8091}
      path: ${LOGGER_PRODUCER_PATH:/event}
      provider:
        mq:
          type: ${LOGGER_PRODUCER_PROVIDER_MQ_TYPE:kafka}
          topicName: ${LOGGER_PRODUCER_PROVIDER_MQ_TOPIC:javalt-logger-producer-log}
      configurable-log:
        enabled: ${LOGGER_PRODUCER_C_LOG_ENABLED:false}
        setting-event-topic-name: ${LOGGER_PRODUCER_C_LOG_SETTING_EVENT_TOPIC_NAME:javalt-system-setting-operation}
        cache:
          module-names: ${LOGGER_PRODUCER_C_LOG_CACHE_MODULE_NAMES:}
          type: ${LOGGER_PRODUCER_C_LOG_CACHE_TYPE:LOGGER}
        ignored-event-types: ${LOGGER_PRODUCER_C_LOG_IGNORED_EVENT_TYPES:}
    search:
      url: ${LOGGER_SEARCH_URL:http://hvlloggersearch:8093}
      path: ${LOGGER_SEARCH_PATH:/es}
      indices-name: ${LOGGER_SEARCH_INDICES_NAME:hvl-*}

Provider aynı zamanda kafkaya erişimi aktifleştirdiği için yml dosyası aşağıdaki sayfalarda verildiği gibi konfigüre edilmelidir.

hvl-kafka Altyapısı Kullanımı

hvl-infra üzerinden Config Server kullanıldığı durumlarda bootstrap.yml dosyasındaki spring.cloud.config.profile pathine hvl-logger değerinin eklenmesi gerekmektedir. Böylece yukarıdaki özelliklerin ve daha fazlasının olduğu application-hvl-logger.yml dosyası projeye dahil olacaktır.

Log Producer MQ Provider Kullanımı#

MQ Provider'ın sağladığı sınıfların aktif hale gelmesi için aşağıdaki anotasyon konfigürasyon sınıfına eklenmelidir.

@HvlEnableLogProducerMQProvider

Örnek:

@Configuration
@HvlEnableLogProducerMQProvider
public class MyConfiguration extends HvlBaseConfiguration {
}

Sonrasında HvlLogProducerMQProvider sınıfı inject edilerek kullanılabilir.