kotlin日志疑问,期待大佬解答

69 阅读1分钟

kotlin日志疑问,期待大佬解答

为什么在springboot+kotlin项目中会因为变量名的不同导致编译报错

@Service
class SysUserRoleServiceImpl() : ServiceImpl<SysUserRoleMapper, SysUserRole>(), SysUserRoleService {
    private val logger = LoggerFactory.getLogger(this::class.java)
    private val logH = LoggerFactory.getLogger(this::class.java)
    private val log: Logger = LoggerFactory.getLogger(this::class.java)

    fun test() {
        logger.info("test") // 正常
        logH.info("test2")  // 正常
        log.info("test2")   // 报错 Kotlin: Unresolved reference: info
    }
}

本项目环境springboot3.4.0 + kotlin1.9.25 + jdk17

已经引入spring-boot-starter-web:3.4.0,其内部已经自动引入了版本相匹配的

log4j-api: 2.24.1

log4j-to-slf4j : 2.24.1

logback-classic :1.5.12

logback-core :1.5.12

spring-boot-starter-logging :3.4.0

仅仅因为变量名不同导致编译报错超出了我的认知,这是IDEA的bug吗?