Невозможно распечатать LoggerContext в Play / Scala - PullRequest
2 голосов
/ 20 мая 2019

Я следую следующему руководству - https://logback.qos.ch/manual/configuration.html

Я хочу напечатать LoggerContext в своем коде, но не могу понять, как это сделать.Код в примере написан на Java, и я хочу написать его на Scala.

  // assume SLF4J is bound to logback in the current environment
  LoggerContext lc = (LoggerContext) LoggerFactory.getILoggerFactory();
  // print logback's internal status
  StatusPrinter.print(lc);
  ...

У меня две проблемы.getILoggerFactory, кажется, возвращает ILoggerFactory, и ни один из print методов в StaticPrinter не принимает ILoggerFactory.Кроме того, ILoggerFactory - это интерфейс ann только с одним методом, getLogger, поэтому я не могу получить от него никакой контекстной информации.

1 Ответ

2 голосов
/ 20 мая 2019

Аналоговый код в Scala выглядит следующим образом:

  val lc = LoggerFactory.getILoggerFactory().asInstanceOf[LoggerContext]
  StatusPrinter.print(lc)

Приведение в Scala выполняется с использованием .asInstanceOf[Class] - и считается Anti-Pattern .

...