Scala 應用程式中的日誌記錄

Suraj P 2023年1月30日 2022年5月18日
  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 級別的描述性或詳細版本。

Author: 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