gpt4 book ai didi

java - Log4J 创建日志文件但不写入

转载 作者:搜寻专家 更新时间:2023-10-31 19:38:40 25 4
gpt4 key购买 nike

我正在尝试配置 log4j 以将消息记录到文件中。现在,文件确实是用我提供的名称创建的,但日志没有写入文件。我的代码:

public class Main extends Application
{
private static Logger logger = Logger.getLogger( Main.class.getName() );
@Override
public void start(Stage primaryStage) throws Exception
{
logger.warning("test");
logger.severe("oh noes");
}


public static void main(String[] args) {
launch(args);
}
}

我的 log4j.properties 文件的内容:

# Root logger option
log4j.rootLogger=INFO, file, stdout

# Direct log messages to a log file
log4j.appender.file=org.apache.log4j.RollingFileAppender
log4j.appender.file.File=log.log
log4j.appender.file.MaxFileSize=1024MB
log4j.appender.file.MaxBackupIndex=1
log4j.appender.file.layout=org.apache.log4j.PatternLayout
log4j.appender.file.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n

log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.Target=System.out
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n

当我运行它时,我在控制台中得到了这个输出:

Jun 23, 2014 3:19:16 AM com.foo.Main start
WARNING: test
Jun 23, 2014 3:19:16 AM com.foo.Main start
SEVERE: oh noes

文件 log.log 确实在我的主目录中创建。但它是空的。

知道我做错了什么吗?我使用的是 log4j 版本 1.2.17。

最佳答案

输出似乎是 Java 的标准日志记录框架 (JUL) 发出的默认格式。

所以,有两种可能性(想到):

  1. 您的代码导入 java.util.logging.Logger,而不是 org.apache.log4j.Logger
  2. 在您的类路径中存在某种库,它拦截 Log4J 调用并将它们转换为 JUL 调用。

关于java - Log4J 创建日志文件但不写入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24356319/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com