我正在使用square中的retrofit库(作为jar依赖项添加),它配置了一个记录器。(link)
private static final Logger LOGGER = Logger.getLogger(RestAdapter.class.getName());
如何在此库中启用日志记录(从我的应用程序)。
我看到像this这样的支票
if (LOGGER.isLoggable(Level.FINE)) {
logResponseBody(url, body, statusCode, elapsedTime);
}
所以看起来,我可能需要获取这个记录器并设置日志级别。或者java记录器从配置文件、环境、类路径中读取loglevel设置??
我不熟悉java平台。在控制台中记录此(外部)库中的消息的任何帮助都将不胜感激。例如,我需要在我的android console / logCat (设置为详细级别)中看到这个类(RestAdapter)的所有日志消息。
谢谢。
编辑1:
我将下面的代码添加到我的入口点,我可以看到它被调用了。仍然没有相关日志
static final String LOGGER_NAME = "retrofit.http.RestAdapter";
@Override
public void onCreate() {
super.onCreate();
Logger mLoggerInstance = Logger.getLogger(LOGGER_NAME);
if (mLoggerInstance != null) {
mLoggerInstance.setLevel(Level.FINE);
}
}
编辑2:
我编辑了外部库,将loglevel FINE的引用改为DEBUG。THis让我看到了日志,但仍然想知道仅通过记录器配置就能达到同样的效果。
我在这里看到了一个帖子,但没有起作用。Logging with Logger under Android
不确定,但看起来调试级别低于debug在Android中被抑制。(source)
发布于 2013-01-29 12:48:11
这是Java日志API。默认情况下,它使用全局jre/lib/logging.properties配置文件。您可以将其复制到应用程序文件夹中,对其进行更改,然后将其作为java arg进行传递
java -Djava.util.logging.config.file=logging.properties ...
有关更多详细信息,请阅读Oracle的概述http://docs.oracle.com/javase/7/docs/api/java/util/logging/package-summary.html或本文http://tutorials.jenkov.com/java-logging/configuration.html
https://stackoverflow.com/questions/14575193
复制相似问题