@staticmethod
    def create_line_matchers( log_config, max_line_length, line_completion_wait_time ):

        line_groupers = log_config['lineGroupers']

        #return a single line matcher if line_groupers is empty or None
        if not line_groupers:
            return LineMatcher( max_line_length, line_completion_wait_time )

        #build a line matcher collection
        result = LineMatcherCollection( max_line_length, line_completion_wait_time )
        for grouper in line_groupers:
            if "start" in grouper:
                if "continueThrough" in grouper:
                    matcher = ContinueThrough( grouper['start'], grouper['continueThrough'], max_line_length, line_completion_wait_time )
                    result.add_matcher( matcher )
                elif "continuePast" in grouper:
                    matcher = ContinuePast( grouper['start'], grouper['continuePast'], max_line_length, line_completion_wait_time )
                    result.add_matcher( matcher )
                elif "haltBefore" in grouper:
                    matcher = HaltBefore( grouper['start'], grouper['haltBefore'], max_line_length, line_completion_wait_time )
                    result.add_matcher( matcher )
                elif "haltWith" in grouper:
                    matcher = HaltWith( grouper['start'], grouper['haltWith'], max_line_length, line_completion_wait_time )
                    result.add_matcher( matcher )
                else:
                    raise Exception( 'Error, no continuation pattern found for line grouper: %s' % str( grouper ) )
            else:
                raise Exception( 'Error, no start pattern found for line grouper: %s' % str( grouper ) )
        return result
Creates line matchers based on the config passed in
dataset/ETHPy150Open scalyr/scalyr-agent-2/scalyr_agent/line_matcher.py/LineMatcher.create_line_matchers