如何在Java中设置Appengine DataStore的日志级别 [英] How to set loglevel of the Appengine DataStore in Java

查看:81
本文介绍了如何在Java中设置Appengine DataStore的日志级别的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我的Java AppEngine项目中有一个 logging.properties 文件(使用 java.util.logging ),看起来像这样:

 #将所有记录器的默认记录级别设置为警告
.level = INFO

#收紧DataNucleus类别的日志记录
DataNucleus.JDO.level =警告
# - 所有邮件一般到JDO
DataNucleus.JPA.level =警告
# - 通用于JPA的所有消息
DataNucleus.Persistence.level = WARN
# - 与持久化进程相关的所有消息
DataNucleus.Query.level = WARN
# - 所有消息相关查询
DataNucleus.Lifecycle.level = WARN
# - 与对象生命周期更改有关的所有消息
DataNucleus.Cache.level =警告
# - 与DataNucleus缓存相关的所有消息
DataNucleus.ClassLoading.level = WARN
# - 与类加载问题相关的所有异常
DataNucleus.MetaData.level = WARN
# - 所有与元数据相关的消息
DataNucleus.Management.level = WARN
# - 与管理相关的所有消息
DataNucleus.General.level = WARN
# - 所有常规操作消息
DataNucleus.Connection.level = WARN
# - 与连接有关的所有消息。
DataNucleus.JCA.level =警告
# - 与连接器JCA有关的所有消息。
DataNucleus.Transaction.level = WARN
# - 与交易相关的所有消息
DataNucleus.Plugin.level =警告
# - 与DataNucleus插件相关的所有消息
DataNucleus.ValueGeneration.level = WARN
# - 与值生成相关的所有消息
DataNucleus.Datastore.level = WARN
# - 所有常规数据存储消息
DataNucleus.Datastore.Schema .level = WARN
# - 所有模式相关数据存储日志消息
DataNucleus.Datastore.Persist.level = WARN
# - 所有数据存储持久性消息
DataNucleus.Datastore.Retrieve.level = WARN
# - 所有数据存储检索消息
DataNucleus.Datastore.Native.level =警告
# - 发送到数据存储的所有'本地'语句的日志
DataNucleus.Enhancer。 level = WARN
# - 来自DataNucleus增强器的所有消息。
DataNucleus.SchemaTool.level = WARN
# - 来自DataNucleus SchemaTool的所有消息
DataNucleus.IDE.level = WARN
# - 来自DataNucleus IDE的消息。

不幸的是,现在我收到的日志消息如下:

  2012-04-17 16:13:45.112 
org.datanucleus.plugin.NonManagedPluginRegistry resolveConstraints:Bundleorg.datanucleus.jpa具有可选的依赖项org.datanucleus.enhancer但它无法解决

我2012-04-17 16:13:45.115
org.datanucleus.plugin.NonManagedPluginRegistry resolveConstraints:Bundleorg.datanucleus有一个可选的依赖org.eclipse.equinox.registry,但它不能解决

我2012-04-17 16:13:45.719
org.datanucleus.PersistenceConfiguration setProperty:属性datanucleus.rdbms.sql.allowAllSQLStatements未知 - 将被忽略

I 2012-04-17 16:13:47.806
org.datanucleus.store.appengine.MetaDataValidator验证:执行appengine特定元数据验证in.animeshpathak.nazdeeq.models.Note

有人可以告诉我我可以如何正确配置我的 logging.properties 文件?我需要一般的loglevel来 INFO 以便在此时查看来自我的代码的调试消息,但是想要将所有DataNucleus日志级别设置为 WARN <

谢谢。

解决方案

其实,如果你想从代码中看到调试消息,你需要 FINEST 级别,而不是 INFO



试着用这个替换你的logging.properties:

 #设置所有的默认日志级别logger到FINEST 
.level = FINEST

#设置ORM的默认日志记录级别,具体来说就是WARNING
DataNucleus.JDO.level =警告
DataNucleus.Persistence .level =警告
DataNucleus.Cache.level =警告
DataNucleus.MetaData.level =警告
DataNucleus.General.level =警告
DataNucleus.Utility.level =警告
DataNucleus.Transaction.level =警告
DataNucleus.Datastore.level =警告
DataNucleus.ClassLoading.level =警告
DataNucleus.Plugi n.level =警告
DataNucleus.ValueGeneration.level =警告
DataNucleus.Enhancer.level =警告
DataNucleus.SchemaTool.level =警告

根据 DataNucleus 的建议,这很重要更简洁:

 #将所有记录器的默认记录级别设置为FINEST 
.level = FINEST

#设置ORM的默认日志记录级别,特别是WARNING
DataNucleus.level =警告


I have a logging.properties file in my Java AppEngine project (using java.util.logging) that looks like this:

# Set the default logging level for all loggers to WARNING
.level = INFO

# tighten logging on the DataNucleus Categories
DataNucleus.JDO.level=WARN 
# - All messages general to JDO
DataNucleus.JPA.level=WARN 
#  - All messages general to JPA
DataNucleus.Persistence.level=WARN 
#  - All messages relating to the persistence process
DataNucleus.Query.level=WARN 
#  - All messages relating to queries
DataNucleus.Lifecycle.level=WARN 
#  - All messages relating to object lifecycle changes
DataNucleus.Cache.level=WARN 
#  - All messages relating to the DataNucleus Cache
DataNucleus.ClassLoading.level=WARN 
#  - All exceptions relating to class loading issues
DataNucleus.MetaData.level=WARN 
#  - All messages relating to MetaData
DataNucleus.Management.level=WARN 
#  - All messages relating to Management
DataNucleus.General.level=WARN 
#  - All general operational messages
DataNucleus.Connection.level=WARN 
#  - All messages relating to Connections.
DataNucleus.JCA.level=WARN 
#  - All messages relating to Connector JCA.
DataNucleus.Transaction.level=WARN 
#  - All messages relating to transactions
DataNucleus.Plugin.level=WARN 
#  - All messages relating to DataNucleus plug-ins
DataNucleus.ValueGeneration.level=WARN 
#  - All messages relating to value generation
DataNucleus.Datastore.level=WARN 
#  - All general datastore messages
DataNucleus.Datastore.Schema.level=WARN 
#  - All schema related datastore log messages
DataNucleus.Datastore.Persist.level=WARN 
#  - All datastore persistence messages
DataNucleus.Datastore.Retrieve.level=WARN 
#  - All datastore retrieval messages
DataNucleus.Datastore.Native.level=WARN 
#  - Log of all 'native' statements sent to the datastore
DataNucleus.Enhancer.level=WARN 
#  - All messages from the DataNucleus Enhancer.
DataNucleus.SchemaTool.level=WARN 
#  - All messages from DataNucleus SchemaTool
DataNucleus.IDE.level=WARN 
#  - Messages from the DataNucleus IDE.

Sadly, now I am getting log messages such as:

2012-04-17 16:13:45.112
org.datanucleus.plugin.NonManagedPluginRegistry resolveConstraints: Bundle "org.datanucleus.jpa" has an optional dependency to "org.datanucleus.enhancer" but it cannot be resolved

I 2012-04-17 16:13:45.115    
org.datanucleus.plugin.NonManagedPluginRegistry resolveConstraints: Bundle "org.datanucleus" has an optional dependency to "org.eclipse.equinox.registry" but it cannot be resolved

I 2012-04-17 16:13:45.719
org.datanucleus.PersistenceConfiguration setProperty: Property datanucleus.rdbms.sql.allowAllSQLStatements unknown - will be ignored

I 2012-04-17 16:13:47.806
org.datanucleus.store.appengine.MetaDataValidator validate: Performing appengine-specific metadata validation for in.animeshpathak.nazdeeq.models.Note

Can someone please tell me how I can properly configure my logging.properties file? I need the general loglevel to INFO in order to see debug messages from my code at this moment, but want to set all DataNucleus loglevels to WARN.

Thanks.

解决方案

Actually, if you want to see debug messages from your code you need FINEST level, not INFO.

Try replacing your logging.properties with this:

# Set the default logging level for all loggers to FINEST
.level=FINEST

# Set the default logging level for ORM, specifically, to WARNING
DataNucleus.JDO.level=WARNING
DataNucleus.Persistence.level=WARNING
DataNucleus.Cache.level=WARNING
DataNucleus.MetaData.level=WARNING
DataNucleus.General.level=WARNING
DataNucleus.Utility.level=WARNING
DataNucleus.Transaction.level=WARNING
DataNucleus.Datastore.level=WARNING
DataNucleus.ClassLoading.level=WARNING
DataNucleus.Plugin.level=WARNING
DataNucleus.ValueGeneration.level=WARNING
DataNucleus.Enhancer.level=WARNING
DataNucleus.SchemaTool.level=WARNING

Per DataNucleus's suggestion, this is much more concise:

# Set the default logging level for all loggers to FINEST
.level=FINEST

# Set the default logging level for ORM, specifically, to WARNING
DataNucleus.level=WARNING

这篇关于如何在Java中设置Appengine DataStore的日志级别的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆