0

logcat に影響を与える可能性があると思われるすべてのものを検索しましたが、この問題に対する答えが見つかりません。毎秒数百の logcat メッセージを画面にダンプする大規模なアプリケーションをデバッグしています。Eclipse では、ログ タグでフィルター処理するために正規表現を使用していますが、ここで奇妙なことが起こります。「一時停止」ボタンは明確な理由もなくアクティブになり続け、膨大な量の新しいメッセージがあるため、調査中の特定の一連のイベントのログを取得する前に、少しずつ上書きされます。 . ブレークポイントを設定し、「エクスポート」ボタンを使用してログを少しずつキャプチャしようとしましたが、アプリはマルチスレッドであり、他のスレッドからのメッセージのためにログがすぐに消えてしまいます。何らかの形でバッファを増やすか、古いメッセージを残しておくといいでしょうが、この時点ではそれを完全に省いてファイルに出力するだけでも構わないと思っていますが、ログタグでフィルタリングする方法がわかりませんコマンドラインから正規表現を使用します。私のオプションは何ですか?

PS私は周りを見回しており、これが冗長でないことを願っています-私の問題に具体的に対処するものは何も見つかりませんでしたが、もちろん、あまり役に立たない豊富な関連スレッドに出くわしました. 本当にありがとう!

4

3 に答える 3

0

日食のlogcatウィンドウは、ログの量が多いとかなりバグがあることがわかりました。オフにしようとしても、無効のままになることはありません。

実際に目的のデータをキャプチャするには、コマンドラインからadblogcatコマンドを使用する傾向があります。Linux、またはおそらくcygwinまたはosxでは、次のことができるはずです。

adb logcat | tee logfile 

そして、両方が飛んでいるメッセージを見て、それらをファイルに記録させます。

于 2012-06-05T17:42:43.523 に答える
0

この質問は古いことは知っていますが、あなたとまったく同じ問題がありました。良い解決策を探しましたが、自分に合った解決策が見つからなかったため、独自のツールを作成することにしました。Mac を使用している場合は、LogRabbit を使用してやりたいことを実行できます。2 つの異なる方法で問題を解決するのに役立ちます。

  1. コマンド ラインで を使用adb logcat -v threadtimeして、ログをディスクに書き込み、それを LogRabbit にインポートできます。

  2. フィルタリング メカニズムは、話しているログ ボリュームを処理するのに十分な速さである必要があります。

http://lograbbit.comをご覧ください。これがお役に立てば幸いです。

于 2015-08-06T02:28:58.717 に答える
0

これと同様の問題がありました。私は、Web サーバーと通信して大量のデータをダウンロードするアプリケーションに取り組んでいました。ほとんどすべての変数のログがあり、それらをテストして、JSON から受け取った結果が正しいかどうかを確認する必要がありました。だから私がしたことは、すべてのログをSDカードのファイルに記録することで、次のようなことをしました:

public void log2File(String filename, String log, int type){

   switch(type){

     case 1: // debug

     case 2: //verbose

     case 3: //warning 

      //..and etc
   }
}

私は自分のソリューションに適したものを見つけられなかったので、それが私がやった方法です.そしてもちろん、ファイルにログを追加して保存する必要があります.

このソリューションがあなたにとって良いと思われることを願っています。

于 2012-06-05T15:01:08.630 に答える