您将需要下载此二进制文件存档
将“log4j-api-2.8.1.jar”和“log4j-core-2.8.1.jar”添加到您的项目中。(在 NetBeans 中:文件 -> 项目属性 -> 库。我必须将它添加到“编译”和“运行”中,否则我会在运行时出错。)
告诉 Log4j 文件在哪里。(在 NetBeans 中:文件 -> 项目属性 -> 运行。粘贴
-Dlog4j.configurationFile=/path/to/your/file/log4j2.xml 
进入文本字段“VM-Options”
使用您的配置在指定路径(我在项目的主文件夹中创建)创建一个名为 log4j2.xml 的 XML,例如
<?xml version="1.0" encoding="UTF-8"?>
<Configuration status="warn">
  <Appenders>
    <Console name="STDOUT" target="SYSTEM_OUT">
      <PatternLayout pattern="%m%n"/>
    </Console>
    <File name="FILE" fileName="logs/myLog.log">
      <PatternLayout>
        <Pattern>%d %p %c{1.} [%t] %m%n</Pattern>
      </PatternLayout>
    </File>
  </Appenders>
  <Loggers>
    <Root level="INFO">
      <AppenderRef ref="FILE" level="INFO"/>
      <AppenderRef ref="STDOUT" level="ERROR"/>
    </Root>
  </Loggers>
</Configuration>
这将创建两个 appender,一个 ConsoleAppender 和一个 FileAppender,它们分别登录 System.out 和一个名为“myLog.log”的文件。级别 INFO 和更高级别的日志消息会记录到文件中,只有错误会打印到控制台。
这是一些示例代码,用于演示如何使用 Log4j2:
import java.io.IOException;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
public class Demo {
    private final static Logger log = LogManager.getLogger(Demo.class);
    public static void main(String[] args) throws IOException {
        log.info("starting...");
        try {
            ((Object) null).toString();
        } catch (Exception e) {
            log.error("error message");
        }
        log.info("some info.");
    }
}
运行它会导致控制台输出
    error message
虽然文件包含
    2017-03-29 14:37:20,675 INFO l.Demo [main] starting...
    2017-03-29 14:37:20,676 ERROR l.Demo [main] error message
    2017-03-29 14:37:20,676 INFO l.Demo [main] some info.
我希望这可以为您省去一些麻烦,因为我花了很长时间才弄明白。随意编辑这篇文章 - 我不知道我的陈述有多正确,这些只是对我有用的步骤。
| 归档时间: | 
 | 
| 查看次数: | 3535 次 | 
| 最近记录: |