我在开发应用程序服务器(从 Eclipse 启动)上正确设置日志记录时遇到问题。我的 appengine-web.xml 中有正确的logging.properties位置,并且最全局的参数正在工作:
.level=ALL
如果我将其更改为INFO
,一切都会安静下来,一切都很好。但尝试为我的包添加任何类型的覆盖似乎根本不起作用:
.level=ALL
com.company.level=INFO
(我使用的是我的真实包名,以上面为例)
当我尝试使用完整的包路径(例如com.company.user.level
)或什至类名称(例如com.company.user.User.level
)时我仍然没有得到任何改变。我还尝试将我的条目移至 .level
语句的上方和下方,但没有成功。作为最后的手段,我尝试完全删除 .level
,但这不会导致我的自定义类日志记录发生任何变化。
在每次更改之间,我完全停止并重新启动开发应用程序服务器,以确保重新读取文件。同样,如果我更改 .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
关于java - 登录 AppEngine,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28755200/