启用外部库的日志记录功能

3

我正在使用Square的Retrofit库(作为jar依赖项添加),它已经配置了一个日志记录器。(链接)

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

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

我看到类似于 this 的检查。

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

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

我不熟悉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:

我编辑了外部库,将日志级别FINE的引用更改为DEBUG。这让我看到了日志,但仍然想知道是否可以仅通过记录器配置来实现相同的效果。

我在这里看到了一篇文章,但没有起作用。 在Android下使用Logger进行日志记录

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

1个回答

1

谢谢你的提示。我查看了如何配置Android的util.log。我按照上面编辑中的说明尝试了一下,但不确定是否可以在Android应用程序中更改java标志。 - bsr

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接