【发布时间】:2014-06-22 22:22:37
【问题描述】:
我正在尝试将 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。
【问题讨论】:
-
您确定要导入 Log4J 的
Logger类,而不是java.util.logging.Logger?