无法更改GlassFish中的TopLink日志记录级别

时间:2011-01-05 23:13:17

标签: java logging glassfish toplink

在GlassFish 2.1环境中,我正在尝试增加TopLink的日志记录级别...以查看正在生成的原始SQL。在GlassFish管理控制台中,我转到:

Configurations -> my-config -> Logger Settings -> "Log Levels" tab

TopLink的日志记录级别由“持久性”下拉菜单决定。要将生成的SQL转储到日志中,请将级别从“SEVERE”增加到“FINE”(或更高)。

我之前在其他多个GlassFish盒子上做过这个。但是,在此框中,单击“保存”按钮后,该值始终会恢复为“SEVERE”。管理控制台中没有任何错误消息,并且没有记录任何我可以找到的消息...新值根本不会坚持。

真正令人困惑的是,我可以成功更新系统中每个其他类别的日志记录级别(例如“JMS”,“JTA”等)。该问题特定于“持久性”类别。

以前有人遇到过这个问题吗?任何想法都将不胜感激。

2 个答案:

答案 0 :(得分:1)

您始终可以直接在JPA persistence.xml中设置日志级别,

"toplink.logging.level"="fine"

答案 1 :(得分:0)

我最终向Oracle证实,这是这个特定版本的GlassFish中的一个错误。对于那些高达3.x代GlassFish的用户而言,这不应该是一个问题,并且最终会有2.1x的更新。

但是,我找到了解决方法。在“Log Levels”页面上,在底部的“Additional Properties”部分添加一个新属性。将属性Name设置为“oracle.toplink.essentials”(在“Persistence”下拉列表旁边显示相同的包名称),并将属性Value设置为您想要的任何日志记录级别。

单击“保存”将从“其他属性”部分删除此条目,但“持久性”下拉菜单将设置为您输入的日志记录级别。