private def parseLine()

in src/main/scala/com/gu/contentapi/models/FastlyLog.scala [43:70]


  private def parseLine(withoutHeader: String): Option[FastlyLog] = {
    val triedLog = Try {
      val fields = withoutHeader.drop(1).dropRight(1).split("\" \"")
      val cleanedFields = fields.map(replaceNullElements andThen removeEscapedQuotes)
      FastlyLog(
        cleanedFields(0),
        cleanedFields(1),
        cleanedFields(2),
        cleanedFields(3),
        cleanedFields(4),
        cleanedFields(5),
        cleanedFields(6),
        cleanedFields(7),
        cleanedFields(8),
        cleanedFields(9),
        cleanedFields(10),
        cleanedFields(11),
        cleanedFields(12),
        cleanedFields(13),
        cleanedFields(14),
        cleanedFields(15),
        cleanedFields(16))
    }
    triedLog.toEither.left.foreach { e =>
      logger.warn(s"Failed to parse line: '$withoutHeader': ${e.getMessage}", e)
    }
    triedLog.toOption
  }