2011-11-15 153 views
0

我对java日志记录机制非常陌生,现在我正在尝试为我的项目使用apache公共日志记录。这是一个Java EE项目,并且EAR文件被部署到WebLogic服务器。基本上,我想用java.util.logging的执行,我也定义如下Apache公共日志记录配置

handlers = java.util.logging.ConsoleHandler, java.util.logging.FileHandler 

java.util.logging.FileHandler.pattern = testLog.log 
java.util.logging.FileHandler.limit = 50000 
java.util.logging.FileHandler.count = 1 
java.util.logging.FileHandler.formatter = java.util.logging.XMLFormatter 
java.util.logging.FileHandler.level=SEVERE 

java.util.logging.ConsoleHandler.level=SEVERE 
java.util.logging.ConsoleHandler.formatter = java.util.logging.SimpleFormatter 

对于包装commons-logging.properties文件,我已经把commons-logging.properties文件到lib目录我的EAR文件。但是,我所有的日志输出都打印到控制台,而不是配置中指定的日志文件。任何人都可以提供任何建议,或者我错过了我的配置中的任何东西吗?

+2

使用slf4j http://techblog.bozho.net/?p=503 – Bozho

+2

是的,使用slf4j + logback http://logback.qos.ch –

+0

同意@Bozho,去slf4j。不要浪费你的时间与java.util.logging - logback是伟大的。 – kylewm

回答

0

尝试将“common-logging.properties”文件重命名为“commons-logging.properties”。

+0

对不起,这是一个错字:D文件名是commons-logging.properties。 –

2

根据user guide,commons-logging.properties必须存在于CLASSPATH中。

+0

是的,这就是为什么我将属性文件放在我的EAR文件的lib目录中。对此有何建议? –

+0

我建议将它移动到类中,然后在作为流拉取时在'ClassLoader'中找到它。 –

+0

这有没有解决?我在其他日志记录库中使用它,因为我使用的是pdfbox,它使用这个。但我的属性文件根本没有被检测到。我该如何改变这一点? – user2223059