Java日志记录-我的日志文件在哪里?

问题描述

您的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吗?还是重新启动计算机?只是好奇。对我来说,这并不比找出我的日志文件实际在哪里重要。

猜你在找的技术问答相关文章

如何检查配对的蓝牙设备是打印机还是扫描仪(Android)
是否允许实体正文进行HTTP DELETE请求?
如何将ZipInputStream转换为InputStream?
java.util.logging Java 8中的变量
PowerMockito.doReturn返回null
Java中的RESTful调用
Swing / Java:如何正确使用getText和setText字符串
特殊字符和重音字符
Android Studio中的ndk.dir错误
错误“找不到主类”