You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Scala使用logback-classic遇IllegalAccessError及日志方法调用异常

解决Scala中使用logback-classic的报错问题

核心错误原因

你遇到的IllegalAccessError是因为错误导入了JDK内部模块的com.sun.org.slf4j.internal.LoggerFactory,这个类属于Java的java.xml.crypto模块,该模块不会对外暴露这个包给非模块化应用,导致无法访问。同时logger.info()报错也是因为这个内部类的Logger实现不包含标准SLF4J的全部方法。

分步解决方案

1. 修正build.sbt依赖配置

当前logback-classic被标记为Test作用域,主代码无法访问到该依赖,需要移除% Test:

ThisBuild / version := "0.1.0-SNAPSHOT"

ThisBuild / scalaVersion := "2.13.8"

libraryDependencies ++= Seq(
  "com.typesafe.akka" %% "akka-actor" % "2.6.3",
  "ch.qos.logback" % "logback-classic" % "1.4.4"  // 移除% Test,让主代码可以使用
)

lazy val root = (project in file("."))
  .settings(
    name := "logBack"
  )

2. 修正Scala代码的Logger导入

替换JDK内部的LoggerFactory为标准SLF4J API的实现:

import org.slf4j.LoggerFactory  // 标准SLF4J导入

object logPractice extends App{

  val logger = LoggerFactory.getLogger(this.getClass)
  logger.debug("Asif")
  logger.info("Info level message")  // 现在可以正常使用info方法
  logger.error("Invalid Query")
}

3. 修正logback.xml配置错误

配置文件中interpretlogger引用了不存在的Interpret appender,需要删除该引用或者添加对应的appender。这里先删除无效的appender-ref:

<configuration>
    <appender name="logBack" class="ch.qos.logback.core.FileAppender">
        <File>/tmp/logBack.log</File>
        <encoder>
            <pattern>%d{HH:mm:ss.SSS} %r [%thread] %logger{0} %level - %msg%n</pattern>
        </encoder>
    </appender>
    <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
        <encoder>
            <pattern>%d{HH:mm:ss.SSS} %r [%thread] %logger{0} %level - %msg%n</pattern>
        </encoder>
    </appender>

    <logger name="interpretlogger" level="debug" additivity="false">
        <appender-ref ref="STDOUT"/>
        <!-- 移除无效的<appender-ref ref="Interpret"/> -->
    </logger>

    <root level="debug">
        <appender-ref ref="logBack"/>
        <appender-ref ref="STDOUT"/>
    </root>

</configuration>

验证修复

完成以上修改后,重新运行代码,应该可以正常输出日志到控制台和指定文件,logger.info()也能正常调用。

内容的提问来源于stack exchange,提问作者Asif khAn

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.15 13:05:27