app/model/Audit.scala (29 lines of code) (raw):
package model
import net.logstash.logback.marker.Markers
import org.joda.time.DateTime
import helpers.JodaDateTimeFormat._
import play.api.Logging
import scala.jdk.CollectionConverters._
trait Audit extends Logging {
def user: String
def operation: String
def description: String
def date: DateTime
def auditType: String
def resourceId: Option[String]
def message: Option[String]
def logAudit = logger.logger.info(createMarkers(), "Tag Manager Audit")
private def createMarkers() =
Markers.appendEntries((
Map(
"type" -> auditType,
"operation" -> operation,
"userEmail" -> user,
"date" -> date.toString,
"shortMessage" -> description
)
++ message.map("message" -> _)
++ resourceId.map("resourceId" -> _)
).asJava
)
}