3

我正在使用square 的改造库(作为 jar 依赖项添加),它配置了一个记录器。(链接

  private static final Logger LOGGER = Logger.getLogger(RestAdapter.class.getName());

如何启用此库中的日志记录(从我的应用程序)。

我看到这样的支票

if (LOGGER.isLoggable(Level.FINE)) {
          logResponseBody(url, body, statusCode, elapsedTime);
        }

所以看起来,我可能需要获取这个记录器并设置日志级别。或者 java logger 是否从配置文件、环境、类路径中读取 loglevel 设置?

我对java平台不熟悉。感谢您在控制台中记录来自此(外部)库的消息的任何帮助。例如,我需要在我的 android 控制台/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。这让我看到了日志,还是想知道单独配置logger也能达到同样的效果。

我在这里看到一个帖子,但没有工作。 Android 下使用 Logger 进行日志记录

不确定,但看起来 Debug 以下的调试级别在 Android 中被抑制了。(来源

4

1 回答 1

1

这是 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了解更多详情

于 2013-01-29T04:48:11.227 回答