【问题标题】:scala use same logger into class and companion objectscala 在类和伴生对象中使用相同的记录器
【发布时间】:2016-05-23 16:20:41
【问题描述】:

我会尝试使用名为 URM 的特定 log4j 记录器进行记录,该记录器将文件登录到 scala 类中,并且我还需要在伴随对象中使用相同的记录器:

class MyClass{
   ...
   val logger = Logger.getLogger("URMLogger")
   logger.info("message log")
   ....
}

伴随对象

object MyClass{
   ...
   logger.info("message log")
   ...
}

Log4j.properties

...
log4j.logger.URMLogger=DEBUG,URM
log4j.appender.URM=org.apache.log4j.FileAppender
log4j.appender.URM.File=target/URM.log
log4j.appender.URM.layout=org.apache.log4j.PatternLayout
log4j.appender.URM.layout.ConversionPattern=%d %p %t [%c] - %m%n
...

如何初始化我的记录器并在两个 e 类对象伴侣中使用它?

【问题讨论】:

  • 为什么不直接颠倒你的逻辑:在同伴中定义记录器并将其导入到类中。完成。

标签: scala logging log4j


【解决方案1】:
object MyClass {
  val logger = Logger.getLogger("URMLogger)
}
class MyClass {
  import MyClass.logger
  logger.info("Here we go!")
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-04-05
    • 1970-01-01
    • 1970-01-01
    • 2015-08-12
    • 1970-01-01
    • 2018-02-06
    • 2011-08-21
    • 1970-01-01
    相关资源
    最近更新 更多