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
}