web-dev-qa-db-ja.com

Logcatに表示される時間

Androidデバイスのタイムスタンプをhh:mm:ss:SSの形式で取得する必要があります。EclipseのLogcatに表示される時間を表示できます。コンピューターの時間ですか? Android=デバイスの時間?

38
user1741274

アプリをAndroidデバイスで実行している場合、デバイスの時間を出力します。エミュレーターで実行している場合、コンピューターの時間を表示します。

ログの時間をデバイスの時間およびコンピューターの時間と一致させるだけで、答えが見つかります。

8

logcatのドキュメント から、出力のフォーマット方法を指定するオプションがあることがわかります( -v )。

タイムスタンプを取得するには、次のコマンドを使用できます

logcat -v time

これにより、各メッセージの前にタイムスタンプが付きます。

87
brianestey

つかいます adb logcat -v threadtime端末からログを取得するために、日付と時刻が含まれます。

これらのログをテキストファイルにリダイレクトする場合は、ターミナルでコマンドを使用します。

 adb logcat -v threadtime > folder_path_in_the_computer/filename.txt
18
AAnkit

logcat -v <format>longthreadtime、またはtime形式を使用します

logcat には多くのフォーマットオプションがあり、コマンドラインの-vフラグに渡すことができます。ドキュメントですべての形式を表示できます here

以下は、各オプションがどのように見えるかのサンプルです。これにより、ニーズに合ったオプションを決定できます。


brief

メッセージを発行するプロセスの優先順位、タグ、およびPIDを表示します。

D/StatusBar.NetworkController( 1222): refreshNwBoosterIndicator - setNWBoosterIndicators(false)
D/StatusBar.NetworkController( 1222): refreshNwBoosterIndicator - setNWBoosterIndicators(false)

long

すべてのメタデータフィールドを表示し、メッセージを空白行で区切ります。

(私はこれが一番好きですが、私は空白の吸盤です)

[ 01-27 13:17:07.703  1222: 1222 D/StatusBar.NetworkController ]
refreshNwBoosterIndicator - setNWBoosterIndicators(false)

[ 01-27 13:17:07.703  1222: 1222 D/StatusBar.NetworkController ]
refreshNwBoosterIndicator - setNWBoosterIndicators(false)

process

PIDのみを表示します。

D( 1222) refreshNwBoosterIndicator - setNWBoosterIndicators(false)  (StatusBar.NetworkController)
D( 1222) refreshNwBoosterIndicator - setNWBoosterIndicators(false)  (StatusBar.NetworkController)

raw

他のメタデータフィールドなしで生のログメッセージを表示します。

refreshNwBoosterIndicator - setNWBoosterIndicators(false)
refreshNwBoosterIndicator - setNWBoosterIndicators(false)

tag

優先度とタグのみを表示します。

D/StatusBar.NetworkController: refreshNwBoosterIndicator - setNWBoosterIndicators(false)
D/StatusBar.NetworkController: refreshNwBoosterIndicator - setNWBoosterIndicators(false)

thread

メッセージを発行するスレッドの優先度、PID、およびTIDを示すレガシー形式。

D( 1222: 1222) refreshNwBoosterIndicator - setNWBoosterIndicators(false)
D( 1222: 1222) refreshNwBoosterIndicator - setNWBoosterIndicators(false)

threadtime

メッセージを発行するスレッドの日付、呼び出し時間、優先度、タグ、PID、およびTIDを表示します。

(ドキュメントでは、これはデフォルトですが、私の場合はそうではありません。)

01-27 13:17:07.703  1222  1222 D StatusBar.NetworkController: refreshNwBoosterIndicator - setNWBoosterIndicators(false)
01-27 13:17:07.703  1222  1222 D StatusBar.NetworkController: refreshNwBoosterIndicator - setNWBoosterIndicators(false)

time

メッセージを発行しているプロセスの日付、呼び出し時間、優先度、タグ、およびPIDを表示します。

01-27 13:17:07.703 D/StatusBar.NetworkController( 1222): refreshNwBoosterIndicator - setNWBoosterIndicators(false)
01-27 13:17:07.703 D/StatusBar.NetworkController( 1222): refreshNwBoosterIndicator - setNWBoosterIndicators(false)

注:これをアプリで使用して、ユーザーのデバイスログをプログラムで収集してサポートチームなどに送信する場合、-vformatの間のスペースを省略する必要があります。そのようです:

commandLine.add( "-vlong" )

なぜそうなのかはわかりませんが、うまくいけば、それを理解しようとする時間を節約できます。

5
Joshua Pinter

開発者サイトの ログの読み取りと書き込み から取得:

time—メッセージを発行しているプロセスの日付、呼び出し時間、優先度/タグ、およびPIDを表示します。」

エミュレーターではコンピューターの時間になり、デバイスではデバイスの時間になります...

0
Chris Conway

プログラムでデバイスの日付が必要な場合:

 SimpleDateFormat s = new SimpleDateFormat("hh:mm:ss");
    String format = s.format(new Date());
0
Nezam