我正在IntelliJ IDEA 13中构建一个简单的应用程序,似乎无法弄清楚如何使log4j工作。我的应用程序是一个简单的演示,旨在确保可以构建某些功能,它所做的只是将两个随机数相乘,并使用apache tomcat将其放置在我可以通过浏览器访问的本地主机上。

这是类代码:

package Sample;

log4j-api-2.0.jar;
log4j-core-2.0.jar;

import org.apache.log4j.Logger;
import org.apache.log4j.LogManager;


public class HelloWorld {

    public static double getMessage() {
        return Math.random()* Math.random();

     }

    private static Logger log = LogManager.getRootLogger();

    log.debug("Debugging Message");
    log.info("Informational message");
    log.warn("Warning Message");
    System.in.read();

}

我在导入行和jar文件行中收到“预期的类或接口”错误,因此我认为我没有将相应的文件放置在正确的目录中。这也导致其余的日志记录行(从private static Logger ...上)产生错误。

最佳答案

1. 以下是无效的Java:

log4j-api-2.0.jar;
log4j-core-2.0.jar;

您只需要import行,例如
import org.apache.log4j.Logger;
import org.apache.log4j.LogManager;

2. .jar文件必须与您的项目关联。

您可以:
  • 右键单击“外部库”部分,然后以这种方式添加它们,或者...
  • 使用Maven并将其添加为项目依赖项,或者...
  • 使用其他一些依赖项管理和/或构建工具,例如Ant + Ivy,Gradle等。

  • 3. 您需要将日志记录语句移动到代码有效的位置,例如在方法中:
    package sample;
    
    import org.apache.log4j.Logger;
    import org.apache.log4j.LogManager;
    
    public class HelloWorld {
        private static final Logger log = LogManager.getRootLogger();
    
        public static void main(String[] args) {
            log.debug("Debugging Message");
            log.info("Informational message");
            log.warn("Warning Message");
        }
    }
    

    07-24 20:44