所以我尝试根据this guide配置AppEngine日志记录,确保我已经配置了要在web.xml中使用的logging.properties文件。我已按以下方式配置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或更严重的情况下显示输出。在上面的例子中,我只想要用紫色星标记的两条线。我做错了吗?
答案 0 :(得分: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
这应该解决它