相关疑难解决方法(0)

使用Lombok的@ Slf4j和Intellij构建:找不到符号日志

我有一个maven项目,在命令行没有问题的情况下构建.但是,当我使用IntelliJ构建它时,我收到错误:

java: FileName.java:89: cannot find symbol
symbol  : variable log
Run Code Online (Sandbox Code Playgroud)

java文件中没有定义或导入日志,但有一个

@Slf4j
final public class FileName {
Run Code Online (Sandbox Code Playgroud)

应该定义日志类的类体之前的语句.

在项目结构窗口中,类为:

Maven: org.slf4j:jcl-over-slf4j:1.6.1
Maven: org.slf4j:slf4j-api:1.6.6
Maven: org.slf4j:slf4j-log4j12:1.6.6
Maven: org.slf4j:slf4j-simple:1.6.6
Run Code Online (Sandbox Code Playgroud)

列在库下,表示已下载并可用.

知道为什么这会通过命令行与maven一起构建,而不是通过IntelliJ以及如何解决问题?

intellij-idea slf4j lombok

81
推荐指数
12
解决办法
8万
查看次数

如何更改 slf4j 日志记录级别

我在 glassfish 3.1.2 服务器上运行的 Java EJB 项目中使用 org.slf4j.Logger。

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

public class main {

private static final Logger LOGGER = LoggerFactory.getLogger(main.class);

public static void main(String[] args) {
  LOGGER.info("--- show this everytime");
  if(LOGGER.isDebugEnabled()) {
        LOGGER.debug("--- show this only if debug is enable");
  }
  LOGGER.info("--- show this everytime");
}
Run Code Online (Sandbox Code Playgroud)

所以我的问题是,我不知道如何打开/关闭不同的日志级别(信息、调试、错误、跟踪、警告)。我阅读了有关创建配置文件或 xml 文件的信息,但我不知道将这些文件放在 EJB 项目中的何处。有没有办法像这样配置它?

LOGGER.setLevel("info");
Run Code Online (Sandbox Code Playgroud)

java logging ejb slf4j

8
推荐指数
2
解决办法
7510
查看次数

标签 统计

slf4j ×2

ejb ×1

intellij-idea ×1

java ×1

logging ×1

lombok ×1