Package com.ocient.util
Class ReportLogger
java.lang.Object
com.ocient.util.ReportLogger
public final class ReportLogger extends Object
Utility class for periodically logging JSON documents
-
Constructor Summary
Constructors Constructor Description ReportLogger(ScheduledExecutorService executorService, Consumer<org.apache.logging.log4j.Logger> onReport)Creates aReportLoggerinstance with the followingRollingFileAppenderdefaults. -
Method Summary
Modifier and Type Method Description voidaddRollingFileAppender(org.apache.logging.log4j.core.appender.RollingFileAppender rfa)voidconfigure(int intervalInSeconds)StringgenerateRandomString()Stream<String>getAppenderFileNames()StringgetMetricsFilePath(String directory, String filename)StringgetMetricsFilePattern(String directory, String filename)booleanisRunning()voidremoveAllFileAppenders()voidstop()voidvalidateDirectoryAndFilename(String directory, String filename)
-
Constructor Details
-
ReportLogger
public ReportLogger(ScheduledExecutorService executorService, Consumer<org.apache.logging.log4j.Logger> onReport)Creates aReportLoggerinstance with the followingRollingFileAppenderdefaults.- Parameters:
executorService-defaultFlieName-defaultFilePattern-defaultLogInterval-onReport-
-
-
Method Details
-
getAppenderFileNames
-
configure
public void configure(int intervalInSeconds) -
stop
public void stop() -
isRunning
public boolean isRunning() -
removeAllFileAppenders
public void removeAllFileAppenders() -
addRollingFileAppender
public void addRollingFileAppender(org.apache.logging.log4j.core.appender.RollingFileAppender rfa) -
validateDirectoryAndFilename
-
getMetricsFilePath
-
getMetricsFilePattern
-
generateRandomString
-