1

因此,我尝试根据本指南配置 AppEngine 日志记录,确保已将 logging.properties 文件配置为在 web.xml 中使用。我已经通过以下方式配置了 logging.properties:

.level = WARNING
nilsnett.chinese.backend.level = INFO 

我的日志记录包装器的包名称是nilsnett.chinese.backend. 问题是即使使用此配置,我的应用程序的信息级日志输出也会被过滤。证据:

在此处输入图像描述

我还尝试了以下配置,它产生了相同的结果(包括包名末尾的记录器类名):

.level = WARNING
nilsnett.chinese.backend.JavaUtilLogger.level = INFO

为了证明实际读取了 logging.properties 文件,并且我确实在此服务调用中将信息级日志记录数据写入了 app-engine,让我向您展示当我设置时会发生什么.level=INFO

在此处输入图像描述

所以我想要的结果是从我的包中获得 INFO 和更高级别的日志输出,而其他包,比如org.datanucleus,只在 WARNING 或更严重的情况下显示输出。在上面的示例中,我只需要标有紫色星号的两条线。我做错什么了吗?

4

1 回答 1

1

将您的配置更改为:

.level = WARNING

# Set the default logging level for the datanucleus loggers
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

# FinalizableReferenceQueue tries to spin up a thread and fails.  This
# is inconsequential, so don't scare the user.
com.google.common.base.FinalizableReferenceQueue.level=WARNING
com.google.appengine.repackaged.com.google.common.base.FinalizableReferenceQueue.level=WARNING

这是来自日志配置模板,因此要将 datanucleus 设置为警告,您必须像在此模板中那样做。
https://developers.google.com/appengine/docs/java/#Logging

然后只需添加您自己的日志记录配置:

nilsnett.chinese.backend.level = INFO 

这应该解决它

于 2013-06-26T10:55:39.280 回答