Scala 应用程序中的日志记录

Suraj P 2023年1月30日
  1. 使用 logger 类在 Scala 应用程序中进行日志记录
  2. Scala 中的日志级别
Scala 应用程序中的日志记录

本文将介绍如何在 Scala 中进行应用程序日志记录。

使用 logger 类在 Scala 应用程序中进行日志记录

我们可以使用 logger 类在 Scala 中进行应用程序日志记录。它存在于 com.typesafe.scalalogging 包中,并且它还在内部包装了 Java 简单日志外观 (SLF4J) 记录器。

我们将看到一个使用日志框架之一 log4j 进行日志记录的示例。但要将其包含在我们的应用程序中,首先,我们必须执行以下步骤。

  • 更新 log4j 依赖项下的项目文件中的 build.sbt 文件。
    libraryDependencies += "log4j" % "log4j" % "1.2.14"
    
  • src/main/resources 下创建 Log4j.properties 文件并添加以下内容:
    # Define the root logger with appender file
    log = D:/hero    #GIVE YOUR PATH WHERE YOU WANT THE LOG FILE TO BE CREATED
    log4j.rootLogger = DEBUG, FILE
    
    # Define the file appender
    log4j.appender.FILE=org.apache.log4j.FileAppender
    log4j.appender.FILE.File=${log}/log.out
    
    # Define the layout for file appender
    log4j.appender.FILE.layout=org.apache.log4j.PatternLayout
    log4j.appender.FILE.layout.conversionPattern=%m%n
    

现在,我们可以在下面的代码中使用它。

import org.apache.log4j.Logger

object workspace {
    val logger = Logger.getLogger(this.getClass.getName)
    def main(args: Array[String]): Unit = {
        logger.info("We are logging in Scala")
    }
}

输出:

Logger: We are logging in Scala

执行上述程序时,会在 Log4j.properties 文件夹中指定的 D:/hero 中创建日志文件 log.out

Scala 中的日志级别

在 Scala 中,我们有三个级别的日志记录:debuginfoerror。我们也有 trace,但它只是一个详细的调试版本。

Scala 中的信息日志

这向用户提供了有关应用程序已执行的活动或事件的信息。在这里我们可以放置 application starteddatabase connection establishedfinished execution 等日志。

Scala 中的错误日志

这个级别告诉我们应用程序中存在一些错误或问题。它可能是 service not runningfailed to establish a database connection 或其他类型的故障。

Scala 中的调试日志记录

此级别有助于执行有关应用程序的诊断。一旦我们在应用程序中发现错误,我们必须调试,这意味着找出导致错误的位置或原因并尽快修复它。

Scala 中的跟踪日志记录

debug 级别的描述性或详细版本。

作者: Suraj P
Suraj P avatar Suraj P avatar

A technophile and a Big Data developer by passion. Loves developing advance C++ and Java applications in free time works as SME at Chegg where I help students with there doubts and assignments in the field of Computer Science.

LinkedIn GitHub