我在查找日志文件时遇到问题。
我在Windows XP上的Eclipse3.7.1中使用Java日志记录-- java.util.logging
。我的logging.properties
文件的相关行是:
handlers= java.util.logging.FileHandler, java.util.logging.ConsoleHandler
.level=INFO
java.util.logging.FileHandler.pattern = %h/java%u.log
java.util.logging.FileHandler.limit = 50000
java.util.logging.FileHandler.count = 1
java.util.logging.FileHandler.formatter = java.util.logging.XMLFormatter
据我所知,在我执行这两行代码后:
Logger logger = Logger.getLogger("test");
logger.logp(Level.INFO, "myClass", "myMethod", "Alcatraz");
我的日志文件应该在X
是整数的C:\Documents and Settings\[My Windows ID]\javaX.log
中。
我在那个目录中有5个不同的java.log
文件,从java0.log
到java4.log
,但它们都没有包含我的日志记录,甚至没有包含今天日期的记录。我做了一些谷歌搜索,发现了Tracing and Logging,这意味着我的日志应该放在不同的位置,c:\Documents and Settings\[My Windows ID]\Application Data\Sun\Java\Deployment\log
。其中有一个名为plugin5581819941091650582.log
的文件,但它实际上是空的:
<?xml version="1.0" encoding="windows-1252" standalone="no"?>
<!DOCTYPE log SYSTEM "logger.dtd">
<log>
</log>
它的创建日期是上周。(我不确定是什么进程创建了它;我肯定没有显式地创建它。)
那么我的日志文件在哪里呢?我想不到其他地方可以看了。
另外,有人知道对logging.properties
的更改什么时候生效吗?如果我更改了日志级别或FileHandler.pattern
,在我的程序看到这些更改之前必须发生什么?简单地将更改保存在logging.properties
中显然是不够的。我需要重新启动Eclipse吗?或者重新启动计算机?只是好奇而已。对我来说,这并不像找出我的日志文件实际在哪里那么重要。
发布于 2012-02-27 11:30:27
您的logging.properties
文件位于何处?它应该在类路径的根目录中可用。作为健全性检查,下面的代码打印什么?
System.out.println(getClass().getClassLoader().getResource("logging.properties"));
如果代码在static
上下文中,请使用
System.out.println(ClassName.class.getClassLoader().getResource("logging.properties"));
发布于 2013-08-02 10:58:46
.log
文件位于您的\workspace\.metadata
文件夹中。我正在使用Eclipse4.2。
发布于 2016-07-19 13:26:57
提问者出现问题的根本原因是他的logging.properties文件未被读取。
未从类路径中读取java.util.logging.config.file
中指定的文件。相反,它从相对于当前目录的文件系统中读取。
例如,运行以下命令java -Djava.util.logging.config.file=smclient-logging.properties SMMain
将从当前目录读取smclient-logging.properties
。一旦读取了正确的java.util.logging.config.file,就会按照文件中指定的方式生成日志。
https://stackoverflow.com/questions/9457976
复制相似问题