2010-09-18 29 views
1

我在Eclipse RCP(目前是Helios)上有DN 2.x。如何用Eclipse内部的DataNucleus 2.x进行日志记录

我遇到问题打开DN LOG。

我使用log4j.properties,其中我定义了所有的DataNucleus类别LOG级别。

它使用“外部”增强器(我只是在RUN配置-Dlog4j.configuration = file:“... \ log4j.properties”的“VM Arguments”上传递参数),但可以'让日志在主应用程序上工作...尝试同样的方法,但没有成功。

任何使用DN和eclipse的人?

回答

0

我不使用DN。所以我无法直接解决你的问题。一般来说,如果您有使用Log4j的应用程序,它将在类路径中搜索名为log4j.properties和log4j.xml的文件。在你的情况下,尝试将你的log4j.properties文件移动到100%确定在类路径中的位置(如所有软件包的根文件夹)。

从那里,如果您的日志记录打开,那么你知道你的属性文件不在类路径中。但是,如果您的文件肯定是在类路径中,那么罪魁祸首可能是关闭应用程序范围内的其他记录。你有没有看到日志记录?如果没有,那么这可能是问题所在。那时你需要弄清楚你正在使用的Facade:apache commons还是SLF4J。两者都有能力用NOOP记录器取代记录器实现,NOOP记录器忽略所有的记录请求。

与Commons,你必须检查commons-logging.properties文件。使用SLF4J,您必须检查项目依赖关系(通常在某处的lib目录中),确保列表中没有NO-OP jar。

+0

我在项目的根上有log4j.properties,它在类路径上。我使用Apache log4j-1.2.16.jar。我找不到任何特定的配置(如commons-logging.properties)或任何NO-OP jar: - 尝试了我所能想到的一切。 – marcolopes 2010-09-22 21:38:19

+0

@marcolopes:你有没有试过把你的记录器置于调试模式(通过传递'-Dlog4j.debug'作为VM参数)?这将打印出有关哪个属性文件log4j用于配置自身的信息。如果正如预期的那样使用YOUR属性文件,那么唯一的其他罪魁祸首就是Logger的实际实现。意思是,当这个依赖被注入时,用于实际执行日志的类可能会忽略所有的日志请求。 – gMale 2010-09-23 15:57:27

+0

我试过每个建议,但甚至无法使DEBUG模式工作。我相信-Dlog4j.debug是项目产品文件的参数......这让我疯狂! VM日志文件位于何处? – marcolopes 2010-10-10 18:36:21

相关问题