无法在Play / Scala中打印LoggerContext

时间:2019-05-20 05:12:00

标签: scala logback

我正在关注以下教程-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是一个只有一种方法getLogger的ann接口,因此我无法从中获取任何上下文信息。

1 个答案:

答案 0 :(得分:2)

Scala中的模拟代码如下:

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

Scala中的投射是使用.asInstanceOf[Class]-进行的,被视为反模式