我正在使用square中的retrofit库(添加为jar依赖项),它已配置了logger。 (link)
private static final Logger LOGGER = Logger.getLogger(RestAdapter.class.getName());
如何在此库中启用日志记录(来自我的应用程序)。
我看到this
之类的支票if (LOGGER.isLoggable(Level.FINE)) {
logResponseBody(url, body, statusCode, elapsedTime);
}
所以看起来,我可能必须得到这个记录器并设置日志级别。或者java logger从配置文件,环境,类路径读取loglevel设置?
我不熟悉java平台。任何有助于在控制台中记录来自此(外部)库的消息的帮助表示赞赏。例如,我需要在我的android控制台/ logCat(设置为详细级别)中查看此类(RestAdapter)中的所有日志消息。
感谢。
我将以下内容添加到我的入口点,我可以看到它已被调用。仍然没有相关日志
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);
}
}
我编辑了外部库,将loglevel FINE的引用更改为DEBUG。让我看一下日志,仍然想知道仅通过记录器配置就能达到同样的效果。
我在这里看到一个帖子,但没有用。 Logging with Logger under Android
不确定,但看起来在Android中抑制了Debug下面的调试级别。 (source)
答案 0 :(得分:1)
这是Java Logging 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了解mmore详细信息