question: public LogStreamMerger ( LogRequest req , LogSvcPropertiesLoader propertiesLoader ) { logger . trace ( "LogStreamMerger()" ) ; this . request = req ; LogFileFinder fileFinder = new LogFileFinder ( propertiesLoader . getLogFilePaths ( ) , propertiesLoader . getExcludedLogFilePaths ( ) ) ; Map < String , List < File > > groupedLogFiles = fileFinder . findFilesGroupedByBaseName ( ) ; List < String > groups = req . getBaseNames ( ) ; if ( groups == null || groups . isEmpty ( ) ) { groups = new ArrayList < > ( groupedLogFiles . keySet ( ) ) ; } logger . debug ( "log names: {}" , groups ) ; if ( groups . retainAll ( groupedLogFiles . keySet ( ) ) ) { logger . info ( "log names after filter: {}" , groups ) ; } int size = groups . size ( ) ; logStreamList = new LogFileStream [ size ] ; logHeads = new LogMessage [ size ] ; for ( int i = 0 ; i < size ; i ++ ) { String service = groups . get ( i ) ; logStreamList [ i ] = new LogFileStream ( service , groupedLogFiles . get ( service ) , req , status ) ; logHeads [ i ] = null ; } }
target:  Merges all logs on this node based on time stamp