3

ロガーが構成されている正方形のレトロフィットライブラリ (jar 依存関係として追加) を使用しています。(リンク)

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

このライブラリで (アプリケーションから) ログを有効にするにはどうすればよいですか。

このようなチェックが表示されます

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

このロガーを取得してログレベルを設定する必要があるかもしれません。または、Javaロガーは構成ファイル、環境、クラスパスからログレベル設定を読み取りますか??

私はJavaプラットフォームに精通していません。この (外部) ライブラリからのメッセージをコンソールに記録するための助けをいただければ幸いです。たとえば、このクラス (RestAdapter) からのすべてのログ メッセージを Android コンソール/logCat (冗長レベルで設定) で確認する必要があります。

ありがとう。

編集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 より下のデバッグ レベルが抑制されているようです。(ソース

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 に答える