Package ch.rswk.meta.engine
Class LoggingService
java.lang.Object
com.google.common.util.concurrent.AbstractIdleService
ch.rswk.meta.engine.AbstractEngineIdleService<LoggingService.LoggingServiceConfig>
ch.rswk.meta.engine.LoggingService
- All Implemented Interfaces:
EngineServices.ConfigurableService<LoggingService.LoggingServiceConfig>,EngineServices.InfoProvidingService,com.google.common.util.concurrent.Service
@Singleton
public class LoggingService
extends AbstractEngineIdleService<LoggingService.LoggingServiceConfig>
LoggingService for storing and searching for logs and metrics. Uses a
LuceneService instance to store logging data.
Attatches to SLF4J root logger and persists entries Level.INFO and above on the server side. Clients can use
Logging or meta-client/logging module to persist client data as well.
- See Also:
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionprivate classstatic final recordstatic final recordstatic final recordNested classes/interfaces inherited from interface com.google.common.util.concurrent.Service
com.google.common.util.concurrent.Service.Listener, com.google.common.util.concurrent.Service.State -
Field Summary
FieldsModifier and TypeFieldDescriptionprivate static final org.slf4j.Loggerprivate static final Stringstatic final Durationprivate static final Stringprivate com.codahale.metrics.Meterprivate ch.qos.logback.core.UnsynchronizedAppenderBase<ch.qos.logback.classic.spi.ILoggingEvent> private static final Stringprivate static final Protocol.ErrorReplyFactoryprivate com.codahale.metrics.Meterprivate final GatewayServiceprivate static final org.slf4j.Loggerprivate com.codahale.metrics.Meterprivate static final com.fasterxml.jackson.databind.ObjectReaderprivate static final com.fasterxml.jackson.databind.ObjectReaderprivate com.codahale.metrics.Meterprivate com.codahale.metrics.Meterprivate final LuceneServiceprivate static final com.fasterxml.jackson.databind.ObjectMapperprivate static final Protocol.ErrorReplyFactoryprivate static final Protocol.ErrorReplyFactoryprivate Stringprivate static final Protocol.ErrorReplyFactoryprivate com.codahale.metrics.Meterprivate static final Durationprivate com.github.benmanes.caffeine.cache.Cache<String, com.codahale.metrics.Timer.Context> private static final Protocol.ErrorReplyFactoryprivate com.codahale.metrics.Meterprivate com.codahale.metrics.MeterFields inherited from class ch.rswk.meta.engine.AbstractEngineIdleService
runtime -
Constructor Summary
ConstructorsConstructorDescriptionLoggingService(LoggingService.LoggingServiceConfig config, GatewayService gatewayService, LuceneService luceneService, EngineRuntime runtime) -
Method Summary
Modifier and TypeMethodDescriptionprivate voidprivate static voidprivate voidprivate static floatgetMetricSamplingPercentage(float sampling) voidlog(LoggingMessage request) com.google.common.util.concurrent.ListenableFuture<LoggingDeleteReply> loggingDelete(LoggingDeleteRequest request) com.google.common.util.concurrent.ListenableFuture<LoggingEntrySearchReply> com.google.common.util.concurrent.ListenableFuture<LoggingMetricSearchReply> com.google.common.util.concurrent.ListenableFuture<LoggingMetricTimeReply> newMetricFilter(@Nullable List<String> filter) voidprivate voidprivate com.google.common.util.concurrent.ListenableFuture<LuceneService.SearchResult> searchLucene(String cursor, int limit, LuceneService luceneService, MetaLucene.QueryContext queryContext) com.google.common.util.concurrent.ListenableFuture<Boolean> sendAlerts(List<AlertRegistry.Alert> alerts) protected voidshutDown()protected voidstartUp()private voidprivate voidwriteLoggingEntry(LoggingEntry entry) private com.google.common.util.concurrent.ListenableFuture<Long> Methods inherited from class ch.rswk.meta.engine.AbstractEngineIdleService
configClass, configReference, onConfigWatcherNotification, serviceId, serviceNameMethods inherited from class com.google.common.util.concurrent.AbstractIdleService
addListener, awaitRunning, awaitRunning, awaitRunning, awaitTerminated, awaitTerminated, awaitTerminated, executor, failureCause, isRunning, startAsync, state, stopAsync, toStringMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitMethods inherited from interface ch.rswk.meta.engine.EngineServices.ConfigurableService
config, handleConfigWatcherNotificationMethods inherited from interface ch.rswk.meta.engine.EngineServices.InfoProvidingService
getServiceInfo
-
Field Details
-
LOG
private static final org.slf4j.Logger LOG -
ALERT_SCHEDULE
-
ALERT_LOG
private static final org.slf4j.Logger ALERT_LOG -
ALERT_MESSAGE_FORMAT
- See Also:
-
ALERT_SUBJECT
- See Also:
-
DELETE_BEFORE_FORMAT
- See Also:
-
DELETE_ERROR
-
MAPPER
private static final com.fasterxml.jackson.databind.ObjectMapper MAPPER -
LOGGING_ENTRY_READER
private static final com.fasterxml.jackson.databind.ObjectReader LOGGING_ENTRY_READER -
LOGGING_METRIC_READER
private static final com.fasterxml.jackson.databind.ObjectReader LOGGING_METRIC_READER -
METRIC_DEFAULT_FILTER
-
METRIC_NAME_ERROR
-
NO_QUERY_ERROR
-
SEARCH_ERROR
-
TIMER_EXPIRATION
-
WRITE_ERROR
-
gatewayService
-
luceneService
-
alertMeter
private com.codahale.metrics.Meter alertMeter -
appender
private ch.qos.logback.core.UnsynchronizedAppenderBase<ch.qos.logback.classic.spi.ILoggingEvent> appender -
deleteMeter
private com.codahale.metrics.Meter deleteMeter -
logErrorMeter
private com.codahale.metrics.Meter logErrorMeter -
logMetricMeter
private com.codahale.metrics.Meter logMetricMeter -
logWarnMeter
private com.codahale.metrics.Meter logWarnMeter -
previousAlertNames
-
searchMeter
private com.codahale.metrics.Meter searchMeter -
timerCache
private com.github.benmanes.caffeine.cache.Cache<String,com.codahale.metrics.Timer.Context> timerCache -
writeErrorMeter
private com.codahale.metrics.Meter writeErrorMeter -
writeMeter
private com.codahale.metrics.Meter writeMeter
-
-
Constructor Details
-
LoggingService
@Inject public LoggingService(LoggingService.LoggingServiceConfig config, GatewayService gatewayService, @Named("Logging") LuceneService luceneService, EngineRuntime runtime)
-
-
Method Details
-
log
-
writeLoggingEntry
-
loggingEntrySearch
public com.google.common.util.concurrent.ListenableFuture<LoggingEntrySearchReply> loggingEntrySearch(LoggingEntrySearchRequest request) -
searchLucene
private com.google.common.util.concurrent.ListenableFuture<LuceneService.SearchResult> searchLucene(String cursor, int limit, LuceneService luceneService, MetaLucene.QueryContext queryContext) -
loggingMetricSearch
public com.google.common.util.concurrent.ListenableFuture<LoggingMetricSearchReply> loggingMetricSearch(LoggingMetricSearchRequest request) -
newMetricFilter
-
getMetricSamplingPercentage
private static float getMetricSamplingPercentage(float sampling) -
loggingMetricTime
public com.google.common.util.concurrent.ListenableFuture<LoggingMetricTimeReply> loggingMetricTime(LoggingMetricTimeRequest request) -
onConfigChanged
public void onConfigChanged() -
updateLoggers
private void updateLoggers() -
startUp
- Overrides:
startUpin classAbstractEngineIdleService<LoggingService.LoggingServiceConfig>- Throws:
Exception
-
shutDown
- Overrides:
shutDownin classAbstractEngineIdleService<LoggingService.LoggingServiceConfig>- Throws:
Exception
-
processAlertsAndMetrics
private void processAlertsAndMetrics() -
sendAlerts
public com.google.common.util.concurrent.ListenableFuture<Boolean> sendAlerts(List<AlertRegistry.Alert> alerts) -
writeLoggingMetric
-
checkRetention
private void checkRetention() -
checkRetentionPaths
private void checkRetentionPaths() -
checkRetentionPath
-
loggingDelete
public com.google.common.util.concurrent.ListenableFuture<LoggingDeleteReply> loggingDelete(LoggingDeleteRequest request)
-