登录 AppEngine
Logging in AppEngine
我在开发应用程序服务器(从 Eclipse 启动)上正确设置日志记录时遇到问题。我的 appengine-web.xml 中有正确的 logging.properties 位置,并且最全局的参数正在工作:
.level=ALL
如果我将其更改为 INFO
,一切都会平静下来,一切都很好。但是尝试为我的包添加任何类型的覆盖似乎根本没有做任何事情:
.level=ALL
com.company.level=INFO
(我用的是我的真实包名,以上面为例)
当我尝试使用完整的包路径(例如 com.company.user.level
或什至 class 名称(例如 com.company.user.User.level
)时,我仍然没有得到任何改变。我也曾尝试将我的条目移动到 .level
语句的上方和下方,但没有成功。作为最后的手段,我尝试完全删除 .level
,但这并没有改变我的自定义 class 日志记录。
在每次更改之间,我完全停止并重新启动开发应用程序服务器以确保重新读取文件。同样,如果我更改 .level
,我会看到日志记录级别输出发生了变化,但没有其他任何效果。我难住了?有什么建议吗?
AppEngine SDK:1.9.17(1.9.18 是撰写本文时的最新版本,但没有任何迹象表明这将在更改日志中修复)。
谢谢!!
更新(解决方案)
感谢下方的@farrellmr!!
我正在做以下事情:
private static final Logger log = Logger.getLogger("MyClass"); // wrong
我应该做的时间:
private static final Logger log = Logger.getLogger(MyClass.class.getName()); // correct
您需要将记录器定义为 -
package test;
private static final Logger LOGGER = Logger.getLogger(MyClass.class.getName());
然后您可以将包日志配置定义为 -
test.level = INFO
我在开发应用程序服务器(从 Eclipse 启动)上正确设置日志记录时遇到问题。我的 appengine-web.xml 中有正确的 logging.properties 位置,并且最全局的参数正在工作:
.level=ALL
如果我将其更改为 INFO
,一切都会平静下来,一切都很好。但是尝试为我的包添加任何类型的覆盖似乎根本没有做任何事情:
.level=ALL
com.company.level=INFO
(我用的是我的真实包名,以上面为例)
当我尝试使用完整的包路径(例如 com.company.user.level
或什至 class 名称(例如 com.company.user.User.level
)时,我仍然没有得到任何改变。我也曾尝试将我的条目移动到 .level
语句的上方和下方,但没有成功。作为最后的手段,我尝试完全删除 .level
,但这并没有改变我的自定义 class 日志记录。
在每次更改之间,我完全停止并重新启动开发应用程序服务器以确保重新读取文件。同样,如果我更改 .level
,我会看到日志记录级别输出发生了变化,但没有其他任何效果。我难住了?有什么建议吗?
AppEngine SDK:1.9.17(1.9.18 是撰写本文时的最新版本,但没有任何迹象表明这将在更改日志中修复)。
谢谢!!
更新(解决方案) 感谢下方的@farrellmr!!
我正在做以下事情:
private static final Logger log = Logger.getLogger("MyClass"); // wrong
我应该做的时间:
private static final Logger log = Logger.getLogger(MyClass.class.getName()); // correct
您需要将记录器定义为 -
package test;
private static final Logger LOGGER = Logger.getLogger(MyClass.class.getName());
然后您可以将包日志配置定义为 -
test.level = INFO