问题描述
您的logging.properties
文件在哪里?它应该在类路径的根目录中可用。作为健全性检查,以下代码打印什么?
System.out.println(getClass().getClassLoader().getResource("logging.properties"));
如果代码在static
上下文中,请使用
System.out.println(ClassName.class.getClassLoader().getResource("logging.properties"));
解决方法
我在查找日志文件时遇到问题。
我java.util.logging
在Windows XP的Eclipse 3.7.1中使用Java日志记录-
。我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");
我的日志文件应该在C:\Documents and Settings\[My Windows ID]\javaX.log
哪里X
是整数。
我java.log
在该目录中有5个不同的文件,java0.log
通过java4.log
,但是它们都没有包含我的日志记录,甚至没有包含今天日期的记录。我进行了一些谷歌搜索,发现“
跟踪和日志记录”表示我的日志应位于其他位置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吗?还是重新启动计算机?只是好奇。对我来说,这并不比找出我的日志文件实际在哪里重要。