首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在外部库中启用日志记录

在外部库中启用日志记录
EN

Stack Overflow用户
提问于 2013-01-29 11:28:30
回答 1查看 4.3K关注 0票数 3

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

代码语言:javascript
运行
复制
  private static final Logger LOGGER = Logger.getLogger(RestAdapter.class.getName());

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

我看到像this这样的支票

代码语言:javascript
运行
复制
if (LOGGER.isLoggable(Level.FINE)) {
          logResponseBody(url, body, statusCode, elapsedTime);
        }

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

我不熟悉java平台。在控制台中记录此(外部)库中的消息的任何帮助都将不胜感激。例如,我需要在我的android console / logCat (设置为详细级别)中看到这个类(RestAdapter)的所有日志消息。

谢谢。

编辑1:

我将下面的代码添加到我的入口点,我可以看到它被调用了。仍然没有相关日志

代码语言:javascript
运行
复制
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)

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-01-29 12:48:11

这是Java日志API。默认情况下,它使用全局jre/lib/logging.properties配置文件。您可以将其复制到应用程序文件夹中,对其进行更改,然后将其作为java arg进行传递

代码语言:javascript
运行
复制
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

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14575193

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档