0

我正在尝试禁用特定警告,因为它正在向我的控制台和仪表板日志发送令人讨厌的垃圾邮件:

org.datanucleus.store.types.sco.SCOUtils newSCOInstance
WARNING: Creation of backed wrapper for <package.class.field> unsupported,
so trying simple wrapper

我尝试在所有 Datanucleus 消息上将 log4j 设置为 ERROR 级别,但无济于事。这是我对 log4j 的设置:

log4j.appender.A1=org.apache.log4j.ConsoleAppender
log4j.appender.A1.layout=org.apache.log4j.PatternLayout
log4j.appender.A1.layout.ConversionPattern=%d{HH:mm:ss,SSS} %-5p [%c] - %m%n

log4j.category.DataNucleus=ERROR, A1

这让我认为这些警告来自另一个记录器......知道如何禁用它们/过滤掉它们吗?


编辑 1:这是有关有问题的字段的更多信息:更准确地说,它是 package.EntityA.field,其中字段是:

@OneToMany(cascade = CascadeType.ALL)
private Map<String,EntityB> field;

我不明白为什么这会被归类为“不完全支持”类型。


编辑 2:我切换回 java.util.logging,并尝试了以下操作:

handlers = java.util.logging.ConsoleHandler
.level = WARNING
Datanucleus.level = WARNING
org.datanucleus.store.types.sco.SCOUtils.level = OFF

结果还是一样。我什至尝试将 Datanucleus.level 设置为 OFF,但无论如何都会记录所有消息(在开发控制台和 GAE 仪表板日志中)。是的,我正确配置了 appengine-web.xml 以使用我的日志记录配置。

4

1 回答 1

-1

显然,这种性质的消息是问题的征兆,并且“package.class.field”属于某些不完全受支持的类型。我看不出这怎么能被认为是“令人讨厌的”。

DataNucleus 使用标准日志记录包进行日志记录(如果在 CLASSPATH 中找到log4j,否则为java.util.logging),因此如果log4j不存在,则需要配置java.util.logging

于 2013-07-08T12:49:46.760 回答