in slf4j-jdk14/src/main/scala/com/twitter/server/handler/slf4j/jdk14/LoggingHandler.scala [104:141]
def apply(request: Request): Future[Response] = {
val uri = Uri.fromRequest(request)
val params = uri.params
val loggerName: Option[String] = parseLoggerName(params)
val loggerLevel: Option[String] = params.get("level")
val updateMsg = (loggerLevel, loggerName) match {
case (Some(level), Some(name)) =>
val updated = for {
level <- Logger.levelNames.get(level.toUpperCase)
} yield {
val logger = logManager.getLogger(name)
logger.setLevel(level)
s"""Changed ${getLoggerDisplayName(logger)} to Level.$level"""
}
updated.getOrElse(s"Unable to change $name to Level.$level!")
case _ => ""
}
log.info(updateMsg)
val loggers = logManager.getLoggerNames.asScala.toSeq
.map(logManager.getLogger)
.sorted(LoggingHandler.loggerOrder)
if (!expectsHtml(request)) {
newResponse(
contentType = "text/plain;charset=UTF-8",
content = Buf.Utf8(LoggingHandler.renderText(loggers, updateMsg))
)
} else {
newResponse(
contentType = "text/html;charset=UTF-8",
content = Buf.Utf8(LoggingHandler.renderHtml(loggers, levels, escapeHtml(updateMsg)))
)
}
}