gpt4 book ai didi

scala - 完整的 "Scala Logging"示例

转载 作者:行者123 更新时间:2023-12-03 09:16:24 25 4
gpt4 key购买 nike

我正在尝试使用 Typesafe 的 Scala Logging但无法让它打印任何调试消息。我希望 Scala Logging 将调试消息打印到默认屏幕,但它不起作用。一个完整的示例将非常有帮助,或者具体建议要更改的内容也很棒。我使用 Scala 2.11。这是我所做的:

  • 我将依赖项添加到 build.sbt:
    libraryDependencies += "com.typesafe.scala-logging" %% "scala-logging" % "3.1.0"

    尽管我不确定这是否是必需的,但我添加了以下行,但它没有任何区别:
    libraryDependencies += "com.typesafe.scala-logging" % "scala-logging-slf4j_2.11" % "2.1.2"
  • 这就是我的类(class)基本上的样子:
    import com.typesafe.scalalogging._

    class MyClass extends LazyLogging {
    // ...
    logger.debug("Here goes my debug message.")
    // ...
    }
  • 我发现了文件 ./src/main/resources/logback.xml 但不确定是哪个模块安装了它以及它是否相关。我将日志级别更改为“调试”但没有效果。
    <configuration>

    <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
    <!-- encoders are assigned the type
    ch.qos.logback.classic.encoder.PatternLayoutEncoder by default -->
    <encoder>
    <pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n</pattern>
    </encoder>
    </appender>

    <logger name="scala.slick" level="DEBUG"/>

    <root level="debug">
    <appender-ref ref="STDOUT" />
    </root>
    </configuration>
  • 最佳答案

    对于那些仍在为如何使您的 scala-logging 在您的 sbt 项目中工作而苦苦挣扎的人。他们只需要按照以下步骤操作:

  • 在您的 build.sbt 中添加这两个依赖项:
    libraryDependencies += "com.typesafe.scala-logging" %% "scala-logging" % "3.1.0"
    libraryDependencies += "ch.qos.logback" % "logback-classic" % "1.1.2"
  • 创建文件 logback.xml 在您的/src/main/resources/中,并将下面提到的内容粘贴到该文件中。

    <configuration>
    <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
    <encoder>
    <pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n</pattern>
    </encoder>
    </appender>

    <appender name="FILE" class="ch.qos.logback.core.FileAppender">
    <!-- path to your log file, where you want to store logs -->
    <file>/Users/yourusername/test.log</file>
    <append>false</append>
    <encoder>
    <pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n</pattern>
    </encoder>
    </appender>

    <root level="debug">
    <appender-ref ref="STDOUT" />
    <appender-ref ref="FILE" />
    </root>
    </configuration>
  • 使用 trait LazyLogging 扩展您的 Scala 类或对象:

    import com.typesafe.scalalogging.slf4j.LazyLogging
    class MyClass extends LazyLogging {
    logger.debug("This is very convenient ;-)")
    }
  • 完成。

  • P.S:仅附带说明 记录器 已经是特征 LazyLogging 的成员,因此您不需要创建它(如上例所示)

    关于scala - 完整的 "Scala Logging"示例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29065603/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com