Could you pass the name of the log to the constructor of the `Parser` and then just have two types of parsers? One to build the meta log structure and one to build the job artifacts. If specialized log parsing behavior is required for different test/build log file types this could be managed internally within the derived parser class. This will help avoid a complicated conditional switch here.